如果我有以下 2 个将在不同线程上运行的 for 循环:
for (int ii = 1; ii < times.Length; ii+=2)
{
if (times[ii] - times[ii - 1] > maxGap)
return false;
}
for (int ii = 2; ii < times.Length; ii += 2)
{
if (times[ii] - times[ii - 1] > maxGap)
return false;
}
可能会出现两个线程都尝试从times
Array 中读取项目的情况,例如两个线程可能同时尝试读取times[1]
。
鉴于两个线程都只会从这些数组中读取,这是一个问题,例如它是否会导致我的代码崩溃或任何其他意外的负面后果?
如果只执行读操作,则不会有问题。一起读和写操作会导致问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句