线程安全性问题成因
- 多线程环境
- 多个线程操作同一共享资源
- 对该共享资源进行非原子性操作
如何避免
打破成因中三点中任一点
- 多线程环境 – 将多线程改单线程(必要的代码加锁访问)
- 多个线程操作同一共享资源 – 不共享资源(ThreadLocal、不共享、操作无状态、不可变)
- 对共享资源进行了非原子性操作 – 将非原子性操作改成原子性操作(加锁、使用JDK自带的原子性操作的类、JUC提供的相应的并发工具类)
线程安全与并发控制
线程安全性问题成因
如何避免
打破成因中三点中任一点

被折叠的 条评论
为什么被折叠?