2018-10-01
推荐原文 死磕Java并发
在并发编程中我们一般都会遇到这三个基本概念:原子性、可见性、有序性
volatile可以保证线程可见性且提供了一定的有序性,但是无法保证原子性。在JVM底层volatile是采用“内存屏障”来实现的。
上面那段话,有两层语义:
保证可见性、不保证原子性
禁止指令重排序
2018-10-01
推荐原文 死磕Java并发
在并发编程中我们一般都会遇到这三个基本概念:原子性、可见性、有序性
volatile可以保证线程可见性且提供了一定的有序性,但是无法保证原子性。在JVM底层volatile是采用“内存屏障”来实现的。
上面那段话,有两层语义:
保证可见性、不保证原子性
禁止指令重排序