Java并發(fā)編程:CountDownLatch、CyclicBarrier和Semaphore
下面對上面說的三個輔助類進行一個總結:
1)CountDownLatch和CyclicBarrier都能夠實現(xiàn)線程之間的等待街氢,只不過它們側重點不同:
CountDownLatch一般用于某個線程A等待若干個其他線程執(zhí)行完任務之后,它才執(zhí)行睦袖;
而CyclicBarrier一般用于一組線程互相等待至某個狀態(tài)珊肃,然后這一組線程再同時執(zhí)行;
另外馅笙,CountDownLatch是不能夠重用的伦乔,而CyclicBarrier是可以重用的。
2)Semaphore其實和鎖有點類似董习,它一般用于控制對某組資源的訪問權限烈和。