1、CountDownLatch

它的作用主要是当多个(数量等于初始化CountDownLatch时count参数的值)线程到达了预期状态或完成预期工作时触发事件,其他线程可以等待这个事件来触发自己后续工作。

等待的线程会调用CountDownLatch的await方法,而达到自己预期状态的线程会调用CountDownLatch的countDown方法。

2、CyclicBarrier

它的作用是协调多个线程,多个线程在这个屏障前等待,直到所有线程都到达屏障时,再一起执行后面的动作。

调用await方法。

3、Semaphore

管理信号量,通过acquire获得信号量,而release是释放信号量。

4、Exchanger

用于在两个线程之间进行数据交换。线程会阻塞在Exchanger的exchange的方法上,直到另外一个线程也到了同一个Exchanger的exchange方法时,二者进行交换。

java 常用concurrent类的更多相关文章

  1. JavaEE-实验一 Java常用工具类编程

    该博客仅专为我的小伙伴提供参考而附加,没空加上代码具体解析,望各位谅解 1.  使用类String类的分割split 将字符串  “Solutions to selected exercises ca ...

  2. java常用日期类总结

    java 常用的日期类有三个Date.SimpleDateFormat.Calendar

  3. Java常用工具类整理

    字符数组转String package com.sunsheen.hcc.fabric.utils; /** * 字符数组工具 * @author WangSong * */ public class ...

  4. Java常用工具类题库

    一.    填空题 在Java中每个Java基本类型在java.lang包中都在一个相应的包装类,把基本类型数据转换为对象,其中包装类Integer是___Number__的直接子类. 包装类Inte ...

  5. Java常用数学类和BigDecimal

    笔记: Math类 * java.lang.Math提供了一系列静态方法用于科学计算:其方法的参数和返回值类型一般为double型. * abs 绝对值 * acos,asin,atan,cos,si ...

  6. java 常用的类

    一.日期操作:Calendar类和SimpleDateFormat类 public void Test1() { Calendar calendar=Calendar.getInstance(); S ...

  7. JAVA常用工具类汇总

    一.功能方法目录清单: 1.getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值: 2.getString(int iSource ...

  8. Java 常用工具类之基本对象包装类

    为了方便操作基本数据类型值, 将其包装成对象, 在对象中定义了属性和行为, 丰富了该数据的操作. 用于描述该对象的类就称为基本数据类型对象包装类. 基本数据类型对应关系 基本数据类型(8种) 包装类 ...

  9. Java常用工具类---XML工具类、数据验证工具类

    package com.jarvis.base.util; import java.io.File;import java.io.FileWriter;import java.io.IOExcepti ...

随机推荐

  1. C#生成图形验证码

    先看效果: 再上代码 public class CaptchaHelper { private static Random rand = new Random(); private static in ...

  2. mysql连接超时

    这几天在跟踪一个项目的时候,老是发现mysql连接报timeout的异常. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException ...

  3. Search in Rotated Sorted Array II

    Question: Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? W ...

  4. 转深入学习heritrix---体系结构(Overview of the crawler)

    Heritrix采用了模块化的设计,它由一些核心类(core classes)和可插件模块(pluggable modules)构成.核心类可以配置,但不能被覆盖,插件模块可以被由第三方模块取代. ( ...

  5. Linux下tail命令

    简述 tail命令从指定点开始将文件写到标准输出,使用tail命令的“-f”选项可以方便的查阅正在改变的日志文件,“tail -f filename”会把filename里最尾部的内容显示在屏幕上,并 ...

  6. MVC-READ5(asp.net web from PK asp.net MVC)

    webform: ViewState问题 页面生命周期 不能很好的分解关注点 对HTML操控受限 抽象不完全 可测试性弱

  7. centos5.4_x64 red5 1.0安装部署

    一.centos5.4_x64 默认安装后会集成jdk1.6 java -version 如果显示当前安装的版本号为1.6,则不需要再安装. 二.安装Red5 1.创建临时目录: cd /usr/lo ...

  8. 【Android】不弹root请求框检测手机是否root

    由于项目需要root安装软件,并且希望在合适的时候引导用户去开启root安装,故需要检测手机是否root. 最基本的判断如下,直接运行一个底层命令.(参考https://github.com/Trin ...

  9. Delphi 实现16进制转字符串及字符串(中文)转16进制

    //-----------------------------------------------//16进制字符转整数,16进制字符与字符串转换中间函数//--------------------- ...

  10. Oracle数据泵

    要使用数据泵必须先创建数据库目录        数据库目录只允许sys创建        普通用户使用 必须授权 假设scott 用户是导出导入用户 SQL> ! mkdir dp_dir SQ ...