java常用关键字(CyclicBarrier,CountDownLatch)
时间:2019-06-06 23:29:28
收藏:0
阅读:129
线程池(java各种线程池设计、线程池原理)
多线程通信同步锁(各种锁、信号量、条件变量等)
多线程之间协作 [CountDownLatch\CyclicBarrier]
CountDownLatch: 类似于一个计数器。单个线程可重入。调用awit()方法阻塞,等待计数器归0。由此可用于实现一个人在等待一堆人做完某件事之后做另外的事情。
CyclicBarrier: 类似于一个栅栏。每个人都必须到达这个地方,才方可做下一个事儿。若其中任何一个人没做完,另外一个也会阻塞在这个地方。
DIFF: CyclicBarrier allows a number of threads to wait on each other, whereas CountDownLatch allows one or more threads to wait for a number of tasks to complete
CountDownLatch 多线程场景下调用countdown即为减1,不可重用。没有set方法。
CyclicBarrier 调用awit,线程并不退出,等待其他所有线程调用awit,才可冲破栅栏。可重用。
CyclicBarrier 底层实现原理。。。。。
原文:https://www.cnblogs.com/lovelywxd/p/10987166.html
评论(0)