并发工具类及线程池
1 CyclicBarrier简介
1.1 简介
CyclicBarrier是一个同步的辅助类,允许一组线程相互之间等待,达到一个共同点,再继续执行。CyclicBarrier(循环屏障) 直译为可循环使用(Cyclic)的屏障(Barrier)。它可以让一组线程到达一个屏障(同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续工作。
JDK中的描述:
A synchronization aid that allows a set of threads to all wait for each other to
reach a common barrier point.
CyclicBarriers are useful in programs involving a fixed sized party of threads
that must occasionally wait for each other.
The barrier is called cyclic because it can be re-used after the waiting threads
are released.
CyclicBarrier是一个同步辅助类,它允许一组线程相互等待直到所有线程都到达一个公共的屏障点。在程序中有固定数量的线程,这些线程有时候必须等待彼此,这种情况下,使用CyclicBarrier很有帮助。这个屏障之所以用循环修饰,是因为在所有的线程释放彼此之后,这个屏障是可以重新使用的。
应用场景:分组计算然后再运行。
底层设计:
ReentrantLoc