1、CountDownLatch
内部类实现aqs,使用cas修改state值完成同步
2、CyclicBarrier
内部使用独占锁实现+condition实现,构造函数可以传入回调任务,在屏障被冲破时执行(在冲破屏障的线程中执行)。
维护了parties,count两个变量,每有一个线程waite阻塞时,–count,当count == 0时,调用condition的signalAll唤醒所有线程
先执行回调任务,然后唤醒所有线程,之后count重置为parties
可以重复使用
3、Semaphore
内部类实现aqs
release 增加state值
acquire 减少state值,如果不够则阻塞等待
juc包下的线程间协作用到的类
最新推荐文章于 2022-11-27 05:00:00 发布