java_juc_同步工具集

来源:互联网 发布:苹果版手机淘宝 编辑:程序博客网 时间:2024/05/01 07:09


CyclicBarrier 和 CountDownLatch 在用法上的不同

CountDownLatch 适用于一组线程和另一个主线程之间的工作协作。一个主线程等待一组工作线程的任务完毕才继续它的执行是使用 CountDownLatch 的主要场景;CyclicBarrier 用于一组或几组线程,比如一组线程需要在一个时间点上达成一致,例如同时开始一个工作。另外,CyclicBarrier 的循环特性和构造函数所接受的 Runnable 参数也是 CountDownLatch 所不具备的。

CountDownLatch 是能使一组线程等另一组线程都跑完了再继续跑;CyclicBarrier 能够使一组线程在一个时间点上达到同步,可以是一起开始执行全部任务或者一部分任务。同时,它是可以循环使用的;Semaphore 是只允许一定数量的线程同时执行一段任务。


 Phaser是一个灵活的线程同步工具,他包含了CyclicBarrier和CountDownLatch的相关功能


Java之CountDownLatch使用

CountDownLatch浅析--同步计数器,接受命令执行命令的同步


Java之CyclicBarrier使用

CyclicBarrier介绍--统计全国的业务数据--多次集合

Java线程之CyclicBarrier---


Java线程之Phaser

java的Phaser,多线程分阶段执行

最后,这篇文章写得非常好,看后收获非常大。http://whitesock.iteye.com/blog/1135457

Lock,ReadWriteLock
http://blog.csdn.net/huang_xw/article/details/7090177



0 0
原创粉丝点击