并发工具类

CountDownLatch

只能用一次。

CountDownLatch countDownLatch = new CountDownLatch(5);

当一组线程调用countDownLatch的await方法时,进入等待。直到其他线程调用完5次countDown方法。

CyclicBarrier

可以循环使用

CyclicBarrier cyclicBarrier = new CyclicBarrier(5);

当5个线程都调用了await方法时,这5个线程同时继续运行,否则继续等待。

Phaser

加强版的CyclicBarrier,可以动态注册注销线程。比如,原来有5个线程,现在可以注销掉一个,或者注册进一个。

Semaphore

控制可以同时访问某个特定资源的线程数量。

Exchange

两个线程间进行数据交换。

posted @ 2020-09-30 11:15  qianbuhan  阅读(43)  评论(0)    收藏  举报