| 是否能重排序 | 第二个操作 | ||
|---|---|---|---|
| 第一个操作 | 普通读/写 | volatile读 | volatile写 |
| 普通读/写 | YES | NO | YES |
| volatile读 | NO | NO | NO |
| volatile写 | YES | NO | NO |
我理解的对volatile变量的重排序(编译器重排序和处理器重排序),主要目的是为了实现对volatile的写,Happend-Before对volatile的读
所以,按照我理解的话,并不需要像图表中那么严谨
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
多线程情况下,存在线程工作内存和主内存的同步问题,volatile只是在主内存上即时可取