有个情况,感觉查出来的都不太对的样子。
volatile 写会在之前加上一个 StoreStore 屏障、在后面加上一个 StoreLoad 屏障。 StoreLoad 的屏障不是代表禁止 volatile 写与后面可能有的 volatile 读和写重排序吗?
但是好多博文的表格,在 volatile 写后面的普通读写都没有写 NO
| 是否能重排序 | 第二个操作 | 第二个操作 | 第二个操作 |
|---|---|---|---|
| 第一个操作 | 普通读 /写 | volatile 读 | volatile 写 |
| 普通读 /写 | NO | ||
| volatile 读 | NO | NO | NO |
| volatile 写 | NO | NO |
所以到底可不可以重排