Java 5.0 提供了 java.util.concurrent(簡稱JUC)包,在此包中增加了在併發程式設計中很常用的工具類,用於定義類似於執行緒的自定義子系統,包括執行緒池,非同步 IO 和輕量級任務框架;還提供了設計用於多執行緒上下文中的 Collection 實現等
1.volatile
1.1 與synchronized區別
volatile 關鍵字:當多個執行緒進行操作共享資料時,可以保證記憶體中的資料可見。相較於 synchronized 是一種較為輕量級的同步策略。
- 不具備“互斥性”
- 不能保證變數的“原子性”