1.问题 内存泄漏 上下文切换 线程安全 死锁 2.必要因素 原子性 可见性:一个线程对共享变量的修改,另一个线程立刻看见(synchronized,volatile) 有序性 3.线程安全 3.1 原因 线程切换出现原子性问题:使用synchronized或锁 缓存导致可见性问题:synchronized,volatile,锁 编译优化带来的有序性问题:Happens-Before规则 本栏目推荐文章Go 语言为什么不支持并发读写 map?go的并发梳理Java实现单机百万并发[转帖]浏览器HTTP请求并发数和TCP连接的关系并发编程面试题升讯威在线客服系统的并发高性能数据处理技术:为多线程处理同步数据升讯威在线客服系统的并发高性能数据处理技术:实现拔网线也不丢消息的高可靠通信(附视频)Java并发(二十二)----wait notify的正确姿势高并发扣款,如何保证结果一致性高并发扣款,如何保证结果一致性