Java多线程(上)——锁、CAS、JMM、线程间通信

1 锁和CAS原理 一个小问题:什么样的变量需要注意线程安全问题? 解答:所有实例域、静态域、数组元素都保存在堆内存,堆内存在线程之间是共享的,需要保证线程安全。而局部变量、方法定义参数、异常处理器参数是线程私有的,不需要考虑。 1.1 volatile原理 如果字段被声明为volatile,那么Java线程内存模型确保所有线程看到这个变量的值是一致的。 JMM怎么保证这个可见性的? 对volat
相关文章
相关标签/搜索