1、CountDownLatch
它的作用主要是当多个(数量等于初始化CountDownLatch时count参数的值)线程到达了预期状态或完成预期工作时触发事件,其他线程可以等待这个事件来触发自己后续工作。
等待的线程会调用CountDownLatch的await方法,而达到自己预期状态的线程会调用CountDownLatch的countDown方法。
2、CyclicBarrier
它的作用是协调多个线程,多个线程在这个屏障前等待,直到所有线程都到达屏障时,再一起执行后面的动作。
调用await方法。
3、Semaphore
管理信号量,通过acquire获得信号量,而release是释放信号量。
4、Exchanger
用于在两个线程之间进行数据交换。线程会阻塞在Exchanger的exchange的方法上,直到另外一个线程也到了同一个Exchanger的exchange方法时,二者进行交换。