您的位置:首页 > 编程语言 > Java开发

Java 并发 —— volatile 关键字

2017-10-14 22:30 169 查看
volatile 修饰变量等于向编译器传达如下两层含义:

保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。

禁止进行指令重排序。

volatile 关键字定义了读写发生的次序:

对一个变量(被 volatile 修饰的变量)的写操作先行发生于(happens before)后面对这个变量的读操作

1. 修饰标记量

//线程1
// boolean stop = false; ⇒
volatile boolean stop = false;
while(!stop){
doSomething();
}

//线程2
stop = true;


references

Java并发编程:volatile关键字解析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: