并发编程:共享模型之内存

​​​​​​

目录

一、Java内存模型(JMM)

​​​​​​​​二、可见性 

退不出的循环

 解决方法

三、有序性 

原理之指令级并行 

 指令重排序对多线程的影响

四、volatile原理

保证可见性(写、读屏障)

保证有序性 (读、写屏障)

 注意:(volatile解决不了原子性问题)

 double-checked locking 问题

 五、synchronized和volatie的对比

六、happens-before

管程锁定规则

volatile变量规则

线程启动规则

线程终止规则

线程中断规则

传递性

对象终结规则

程序次序规则 


​​​​​​​

一、Java内存模型(JMM)

你可能感兴趣的:(并发编程,java,多线程)