摘抄自(http://tutorials.jenkov.com/java-concurrency/volatile.html)
机翻
完全不稳定的可见性保证
实际上,Java volatile 的可见性保证超出了 volatile 变量本身。 可见性保证如下:如果线程 A 写入一个 volatile 变量,而线程 B 随后读取了同一个 volatile 变量,那么线程 A 在写入 volatile 变量之前对线程 A 可见的所有变量,在线程 B 读取 volatile 变量之后也将对线程 B 可见。
如果线程 A 读取一个 volatile 变量,那么在读取 volatile 变量时线程 A 可见的所有变量也将从主存储器中重新读取。
原文
Full volatile Visibility Guarantee
Actually, the visibility guarantee of Java volatile goes beyond the volatile variable itself. The visibility guarantee is as follows:If Thread A writes to a volatile variable and Thread B subsequently reads the same volatile variable, then all variables visible to Thread A before writing the volatile variable, will also be visible to Thread B after it has read the volatile variable.
If Thread A reads a volatile variable, then all all variables visible to Thread A when reading the volatile variable will also be re-read from main memory.
java 多线程内存可见性问题(volatile)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本质 Java多线程安全问题的本质原因,有线程的写操作。如果多个线程对同一资源进行读,是没有问题的。但如果一个线程...
- 最近在重新梳理多线程,同步相关的知识点。关于 volatile 关键字阅读了好多博客文章,发现质量高适合小白的不多...
- 上次线程池已经说过了,从今天开始一起了解下JVM内存模型详解。 (一)容易误解的部分 老铁很容易把JAVA的内存区...