java5 CountDownLatch线程同步工具类
2016-04-29 16:17
351 查看
java5 CountDownLatch同步工具
好像倒计时计数器,调用CountDownLatch对象的countDown方法就将计数器减1,当到达0时,所有等待者就开始执行。java.util.concurrent.CountDownLatch
一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数初始化CountDownLatch。由于调用了countDown()方法,所以在当前计数到达零之前,await方法会一直受阻塞。之后,会释放所有等待的线程,await的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用CyclicBarrier。
CountDownLatch是一个通用同步工具,它有很多用途。将计数1初始化的CountDownLatch用作一个简单的开/关锁存器,或入口:在通过调用countDown()的线程打开入口前,所有调用await的线程都一直在入口处等待。用N初始化的 CountDownLatch可以使一个线程在N个线程完成某项操作之前一直等待,或者使其在某项操作完成N次之前一直等待。
CountDownLatch的一个有用特性是,它不要求调用countDown方法的线程等到计数到达零时才继续,而在所有线程都能通过之前,它只是阻止任何线程继续通过一个await。
举例:多个运动员等待裁判命令:裁判等所有运动员到齐后发布结果
相关文章推荐
- Spring事务管理的5种配置方式
- javaweb项目中中文乱码
- Java Swing简单控件实例(JButton,JLabel,JMenuBar,JComboBo)
- Java中的线程池
- 自己写的代码生成器,spring+spring mvc +Hibernate
- Java回调机制解析
- 非常经典的JAVA编程题(正整数分解质因数)
- 谈win7下Eclipse环境中向安装在虚拟机中的Hadoop中上传文件为空的解决方法
- java 定时器
- java连续取掉多个不需要的字符
- Java如何让异常处理机制更完备规范
- 设计模式-适配器模式
- JSch - Java实现的SFTP
- Java实现的RSA非对称加密工具
- Java7 Fork-Join 框架:任务切分,并行处理
- 学习项目: mvp+Rxjava+Retrofit
- ImageMagick使用for java(im4java)
- 关于Java 信号量 Semaphore
- java 如何显示当前系统时间
- JNDI+Spring获取配置数据源的三种方法