Ch16-Java tools 之 CyclicBarrier
April 1, 2020
java.util.concurrent.CyclicBarrier
底层基于 ReentrantLock 和 Condition 实现,如果 count 不为 0,则调用 Condition 的 await 方法让线程等待执行,当 count 为 0 时,调用 Condition 的 singleAll 唤醒全部等待的线程执行。
java.util.concurrent.CyclicBarrier
底层基于 ReentrantLock 和 Condition 实现,如果 count 不为 0,则调用 Condition 的 await 方法让线程等待执行,当 count 为 0 时,调用 Condition 的 singleAll 唤醒全部等待的线程执行。
java.util.concurrent.Semaphore
类表示信号量。Semaphore 内部主要通过 AQS(AbstractQueuedSynchronizer)实现线程的管理。
java.util.concurrent.CountDownLatch
是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。
java.util.concurrent.CopyOnWriteArrayList
java.util.concurrent.DelayQueue
java.util.concurrent.PriorityBlockingQueue
java.util.concurrent.LinkedBlockingQueue
java.util.concurrent.ArrayBlockingQueue
java.util.concurrent.locks.ReentrantReadWriteLock
java.util.concurrent.locks.ReentrantLock