标签:优化 指令重排序 语句 排序 线程 src 实战 思路 com
java两个线程互相访问的时候并不能按照你的思路运行,因为执行语句可能有前后快慢之分,比如a=1和flag=true。下面线程B访问的时候 这两个赋值语句不一定按顺序执行
产生这种原因是因为指令重排序造成的。这种重排只会出现在不影响串行的结构下进行指令的优化(去掉等待的气泡,这是一种编译器的自动优化避免过多等待)
此问题在java并发线程实战中也有说明
标签:优化 指令重排序 语句 排序 线程 src 实战 思路 com
原文地址:http://www.cnblogs.com/yaohaitao/p/6884744.html