Java併發編程 - 線程不安全類 & 同步容器之簡介

5b42cda700017f0519201080.jpg (1920×1080)

  • if(condition(a)) { handle(a) } 即便 condition 和 handle 都是線程安全的,但因爲分成了兩步,不符合原子性,因此是不安全的。解決方案就是在這個方法上加一個 synchronized 鎖。

5db05f4b0001696119201080.jpg (1920×1080)

  • 同步容器並不是絕對的線程安全,只能說安全性更高,比如 Vector 只是部分安全。
  • 同步容器不能完全的做到線程安全,使用synchronized進行同步,性能不是特別好。那麼是否有其他容器取代同步容器,那就是併發容器,實際項目中使用同步容器越來越少,通常使用併發容器。

5b17f96d0001dd1819201080.jpg (1920×1080)

5e956ab70001910719201080.jpg (1920×1080)

5e956aae000186ce19201080.jpg (1920×1080)

 

附:J.U.C 圖

5db1b8bb0001ddfe19201080.jpg (1920×1080)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章