Java中synchronized和ReentrantLock之外的锁

【摘要】 CountDownLatch(门栓) zookeeper连接时经常用 countDownLatch.countDown()参数递减 countDownLatch.await()参数为0时,放行
CyclicBarrier(栅栏) cyclicBarrier.await 人齐就发车、多个线程协同执行,等所有的线程都拿到返回结果,再执行下一步
Phaser(好多排小栅栏…

CountDownLatch(门栓)
zookeeper连接时经常用
countDownLatch.countDown()参数递减
countDownLatch.await()参数为0时,放行

CyclicBarrier(栅栏)
cyclicBarrier.await
人齐就发车、多个线程协同执行,等所有的线程都拿到返回结果,再执行下一步

Phaser(好多排小栅栏,可以进行过滤)
phaser.arriveAndAwaitAdvance()(去栅栏处等,线程齐后,进行下一步)
phaser.arriveAndDeregister()(退场)

ReadWriteLock(读写锁)
共享锁(读锁)(乐观锁)
排他锁(写锁)(悲观锁)

Semaphore(信号灯,限流、允许多少个线程可以同时执行)
semaphore.acquire()(获得(获得锁))
semaphore.release()(复位,(释放锁))

Exchanger(交换器)
exchanger.exchange()

LockSupport.park()(停止)
LockSupport.unpark()(放行)

文章来源: blog.csdn.net,作者:触初,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jt781861965/article/details/116804023

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享