1. 程式人生 > >Oracle官方併發教程之併發集合

Oracle官方併發教程之併發集合

原文地址 譯文地址  譯者:李任  校對:方騰飛

java.util.concurrent包囊括了Java集合框架的一些附加類。它們也最容易按照集合類所提供的介面來進行分類:

  • BlockingQueue定義了一個先進先出的資料結構,當你嘗試往滿佇列中新增元素,或者從空佇列中獲取元素時,將會阻塞或者超時。
  • ConcurrentMapjava.util.Map的子介面,定義了一些有用的原子操作。移除或者替換鍵值對的操作只有當key存在時才能進行,而新增操作只有當key不存在時。使這些操作原子化,可以避免同步。ConcurrentMap的標準實現是ConcurrentHashMap,它是HashMap
    的併發模式。

所有這些集合,通過 在集合裡新增物件和訪問或移除物件的操作之間,定義一個happens-before的關係,來幫助程式設計師避免記憶體一致性錯誤