2、volatile 的实现原理?

2018-12-27  本文已影响0人  Jeffery大侠

漫画:什么是volatile关键字?(整合版)

1:作用

    用volatile修饰的变量对所有线程的可见性。

2:工作内存与主内存

        一般变量:优先读取工作内存,若不存在,则总从主内存中copy一份到工作内存,读写操作都只修改工作内存;

        volatile修饰的变量:当一个线程修改了变量的值,新的值会立刻同步到主内存当中。而其他线程读取这个变量的时候,也会从主内存中拉取最新的变量值。

3:volatile修饰的变量并不保证线程安全

4:什么时候适合用volatile呢?

1.运行结果并不依赖变量的当前值,或者能够确保只有单一的线程修改变量的值。

2.变量不需要与其他的状态变量共同参与不变约束。

上一篇下一篇

猜你喜欢

热点阅读