2016组后一篇随笔,哇哈哈
Concurrent
CountDownLatch
信号量控制器,countDown()函数释放当前函数的信号量,当所有该类型信号量释放完毕,await()函数阻塞该线程,等待信号量消费完毕
应用
1.初始化一个信号量的话就相当与开关
2.当初始化为N时,就变成了计数器了
CylicBarrier
每个线程调用await()函数,等待所有线程完成任务,执行初始化内的Runnable
区别
- CountDownLatch等待调用await外的其他县城的countDown,CylicBarrier等待所有线程的完成,执行额外的操作
**Semaphore **
信号量控制器,调用acquire查询当前信号量是否消费完,如果消费完了就阻塞等待release,一般用于对象池的控制
**Exchanger **
用于两个伙伴线程交换数据
**SynchronousQueue **
极轻量的容量为1的BlockingQueue,用于单个元素在多线程种的传递
网友评论