- if(condition(a)) { handle(a) } 即便 condition 和 handle 都是線程安全的,但因爲分成了兩步,不符合原子性,因此是不安全的。解決方案就是在這個方法上加一個 synchronized 鎖。
- 同步容器並不是絕對的線程安全,只能說安全性更高,比如 Vector 只是部分安全。
- 同步容器不能完全的做到線程安全,使用synchronized進行同步,性能不是特別好。那麼是否有其他容器取代同步容器,那就是併發容器,實際項目中使用同步容器越來越少,通常使用併發容器。