CountDownLatch: 一个或者多个线程,等待其他多个线程完成某件事情之后才能执行 | CyclicBarrier : 多个线程互相等待,直到到达同一个同步点,再继续一起执行。 |
---|---|
减计数方式 | 加计数方式 |
减到0释放所有等待线程 | 加到特定值释放所有等待线程 |
减到为0时无法重置 | 增加到特定值,计数0重新开始 |
countDown()方法减一 await()方法阻塞 | await()方法加一 加一后的值不等于构造方法的值 阻塞 |
不可重复利用 | 可重复利用 |
悲观锁与乐观锁
悲观锁 synchronized和ReentrantLock等独占锁就是悲观锁思想的实现
乐观锁一般会使用版本号机制或CAS算法实现。
网友评论