java常用关键字(CyclicBarrier,CountDownLatch)

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: 类似于一个计数器。单个线程可重入。调用awit()方法阻塞,等待计数器归0。由此可用于实现一个人在等待一堆人做完某件事之后做另外的事情。

CyclicBarrier: 类似于一个栅栏。每个人都必须到达这个地方,才方可做下一个事儿。若其中任何一个人没做完,另外一个也会阻塞在这个地方。

diff

CountDownLatch 多线程场景下调用countdown即为减1,不可重用。没有set方法。

CyclicBarrier 调用awit,线程并不退出,等待其他所有线程调用awit,才可冲破栅栏。可重用。

 

上一篇:java并发工具


下一篇:java多线程笔记