Concurrent Framework Synchronizer 同步器: Easy to use but easy to make dead lock as well

同步器是一些使線程可以等待另外一個線程的對象, 以容許他們協調工做.spa

同步器的種類 CountDownLatch, Semaphore, CyclicBarrier and Exchanger.線程

 

CountDownLatch倒計數同步器是一個一次性障礙, 容許一個或多個線程等待一個或多個其它線程作完某件事情.對象

調用CountDownLatch(int number)構造器初始化計數.同步

在等待線程上調用CountDownLatch.await()以阻塞線程.it

在工做線程上調用CountDownLatch.countDown()以減小計數, 當計數爲0時激活其它全部等待線程.cli

在實際工做中根據業務邏輯的複雜度, 有可能同時有多個同步器存在, 多個線程的初始化, 執行, 收尾等若是須要屢次等待則須要多個同步器.map

在使用多個同步器時 可能出現死鎖情形, 須要特別注意(很好用但也很危險).co

相關文章
相關標籤/搜索