0
相同的项目,如果我有对将在不同的线程中运行循环下2:可能出现C#阵列2个线程读取在同一时间
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
数组,例如,两个线程可以同时尝试并读取times[1]
。
鉴于这两个线程只会从这些数组读取,这是一个问题,例如它可能会导致我的代码崩溃或任何其他意想不到的负面后果?
不。如果它是只读的,那么没有问题(当然没有其他线程会写入等等)。两个写入或读写组合将导致麻烦。 –