1.CountDownLatch减法计时器
用法:
CountDownLatch countDownLatch=new CountDownLatch(10);//设置十个线程进行,并开始倒计时,等待归零并执行下一步操作。
countDownLatch.await();//等待归零
2.CyclicBarrier加法计时器
用法:
CyclicBarrier barrier=new CyclicBarrier(7,()->{
System.out.println("吃完了!");
});//设置7个线程,并开始计时,等待达到7个线程,并执行下一步操作。
barrier.await();//等待达到7个线程
3.Semaphore限流,限制运行的线程数。
用法:
Semaphore semaphore=new Semaphore(3);//限制3个线程同时运行
semaphore.acquire();//为该线程颁发一个许可证,可以运行的许可证
semaphore.release();//取回该线程的许可证,线程退出。