- Semaphore(信号灯)
Semaphore接受一个整形参数,代表有几盏灯,acquire是获取一盏灯,release是释放一盏灯,相当于一个多锁的集合,获取和释放可以不在同一个线程内出现;
- CountDownLatch(倒计时门栓)
接收一个整形参数标识倒计时次数,countDown方法减少一次计时,await方法标识等待直到及时为0才往后执行;
- CyclicBarrier()
接收一个整形参数,代表参与的线程个数,不同线程调用await进入等待,当线程数量达到预设数量时,再一起执行;
CountDownLatch每个线程职责不一样,有的负责减倒计时,有的负责等待计时结束;
CyclicBarrier是所有线程到齐了,再一起执行;