我正在研究某人的代码,并且遇到了相同的代码:
for (int i = 0; i < someVolatileMember; i++) {
// Removed for SO
}
Run Code Online (Sandbox Code Playgroud)
在哪里someVolatileMember
定义如下:
private volatile int someVolatileMember;
Run Code Online (Sandbox Code Playgroud)
如果某个线程A正在运行for循环而另一个线程B写入,someVolatileMember
那么我假设要执行的迭代次数会发生变化,而线程A正在运行不太好的循环.我认为这会解决它:
final int someLocalVar = someVolatileMember;
for (int i = 0; i < someLocalVar; i++) {
// Removed for SO
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
someVolatileMember
归档时间: |
|
查看次数: |
175 次 |
最近记录: |