我读过一些关于volatile
关键字,但我无法弄清楚它的正确用法。你能告诉我它在 C# 和 Java 中的用途吗?
考虑这个例子:
int i = 5;
System.out.println(i);
编译器可能会对此进行优化,只打印 5,如下所示:
System.out.println(5);
但是,如果有另一个线程可以改变i
,这是错误的行为。如果另一个线程发生变化i
为 6,优化版本仍将打印 5。
The volatile
关键字可以防止此类优化和缓存,因此当另一个线程可以更改变量时非常有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)