java 常用concurrent类

1、CountDownLatch

它的作用主要是当多个(数量等于初始化CountDownLatch时count参数的值)线程到达了预期状态或完成预期工作时触发事件,其他线程可以等待这个事件来触发自己后续工作。

等待的线程会调用CountDownLatch的await方法,而达到自己预期状态的线程会调用CountDownLatch的countDown方法。

2、CyclicBarrier

它的作用是协调多个线程,多个线程在这个屏障前等待,直到所有线程都到达屏障时,再一起执行后面的动作。

调用await方法。

3、Semaphore

管理信号量,通过acquire获得信号量,而release是释放信号量。

4、Exchanger

用于在两个线程之间进行数据交换。线程会阻塞在Exchanger的exchange的方法上,直到另外一个线程也到了同一个Exchanger的exchange方法时,二者进行交换。

原文地址:https://www.cnblogs.com/beiyeren/p/3865833.html