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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步