1. 程式人生 > >Java併發程式設計之閉鎖CountDownLatch和柵欄(CyclicBarrier)

Java併發程式設計之閉鎖CountDownLatch和柵欄(CyclicBarrier)

柵欄類似閉鎖,但是它們是有區別的.

1.閉鎖用來等待事件,而柵欄用於等待其他執行緒.什麼意思呢?就是說閉鎖用來等待的事件就是countDown事件,只有該countDown事件執行後所有之前在等待的執行緒才有可能繼續執行;而柵欄沒有類似countDown事件控制執行緒的執行,只有執行緒的await方法能控制等待的執行緒執行.

2.CyclicBarrier強調的是n個執行緒,大家相互等待,只要有一個沒完成,所有人都得等著。