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)

发布了1005 篇原创文章 · 获赞 1889 · 访问量 89万+

猜你喜欢

转载自blog.csdn.net/Dream_Weave/article/details/105512200