同步器
java.util.concurrent包包含了几个能帮助人们管理相互合作的线程集的类。这些机制具有为线程之间的共用集结点模式提供的"预置功
能"。
CyclicBarrier类:允许线程集等待直至其中预订数目的线程到达一个公共障栅,然后可以选择执行一个处理障栅的动作。CyclicBarrier类是可循环的,可以在所有等待线程被释放后被重用。
CountDownLatch类:允许线程集等待直到计数器减为0。
Exchanger类:允许两个线程在要交换的对象准备好时交换对象(两个线程工作在同一数据结构的两个实例上时,一个向实例添加数据而另一个从实例清除数据)。
SynchronousQueue类:允许一个线程把对象交给另一个线程。当一个线程调用SynchronousQueue类的put方法时,它会阻塞数据直到另一个线程调用take方法为止。与Exchanger类情况不同,数据仅仅沿一个方向传递。
Semaphore类:允许线程集等待直到被允许继续运行为止。