对于原始人,我认为这是必要的. 即使是非原始的,例如数组,我认为这也是必要的.
没有不稳定:
int d[2];
Run Code Online (Sandbox Code Playgroud)
线程1:
while (d[1] > 0) modify(d[0]);
Run Code Online (Sandbox Code Playgroud)
线程2:
while (d[0] > 0) modify(d[1]);
Run Code Online (Sandbox Code Playgroud)
我担心编译器会在没有volatile的情况下更改我的代码.while(true)modify();
所以我在'int d [2]'之前放了volatile; 但是我觉得有点奇怪,一切都装饰着挥发性.