1. 程式人生 > >讀書筆記:新類庫中的構件

讀書筆記:新類庫中的構件

1.CountDownLatch:被用來同步一個或多個的同步任務,強制它們等待由其他任務執行的一組操作完成。可以向CountDownLatch物件設定一個初始計數值,任何在這個物件上呼叫wait()方法都將阻塞,直到這個計數值到達0。其他任務在結束工作的時候,可以在這個物件上呼叫countDown()來減小這個計數值。典型用法:把一個任務分割成n個獨立的可解決任務,並建立值為0的CountDownLatch,當每個任務完成時,都會在這個鎖存器上呼叫CountDown(),等待問題被解決的任務在這個鎖存器上呼叫await(),將自己攔住,知道鎖存器計數結束。

2.CyclicBarrier:適用於這樣情況:希望建立一組任務,他們並行的執行工作,然後在進行下一個步驟之前等待,知道所有的任務完成。可以使得所有的並行任務都將在柵欄出佇列,可以一致的向前移動。

3.DelayQueue:是一個無界的BlockingQueue,用於放置實現了Delayed介面的物件,其中的物件只能在其到期才能從佇列中取走。這種佇列是有序的。對頭物件的延遲到期時間最長,如果沒有任何延遲到期,那麼就不會有任何頭元素,並且poll()放回null。

4.PriorityBlockingQueue:這是一個很基礎的優先順序佇列,它具有可阻塞的讀取操縱。在優先順序佇列中的物件是按照優先順序順序從佇列中出現的任務。