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