小编use*_*937的帖子

易失性读取是否发生在易失性写入之前?

我试着理解为什么这个例子是一个正确同步的程序:

a - volatile
Thread1:
x=a
Thread2:
a=5
Run Code Online (Sandbox Code Playgroud)

因为存在冲突的访问(存在对a的写入和读取)所以在每个顺序一致性执行中必须发生 - 在该访问之间的关系之前.假设一个顺序执行:

1. x=a
2. a=5
Run Code Online (Sandbox Code Playgroud)

1发生在2之前,为什么?

java multithreading synchronization java-memory-model

12
推荐指数
2
解决办法
1154
查看次数