Java - volatile

Java - volatile

1. volatile的特性

  • 可见性。对于 volatile 变量的读和写,任意线程总是能够看到该volatile变量最新的值。
  • 原子性。对于 volatile 变量的读和写操作具有原子性。(复合操作除外,如:num++)。

2. volatile的内存语义

  • 当写一个 volatile 变量时,JMM 会把该线程对应的本地内存中的共享变量值刷新到主内存。
  • 当读一个 volatile 变量时,JMM 会把该线程对应的本地内存置为无效。线程接下来将从主内存中读取共享变量。

3. volatile的内存语义实现

通过读/写屏障,禁止部分读写和重排序。

本文作者:护发师兄

本文链接:https://www.cnblogs.com/jonil/p/16008983.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   护发师兄  阅读(47)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起