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]
。
鑑於這兩個線程只會從這些數組讀取,這是一個問題,例如它可能會導致我的代碼崩潰或任何其他意想不到的負面後果?
不。如果它是隻讀的,那麼沒有問題(當然沒有其他線程會寫入等等)。兩個寫入或讀寫組合將導致麻煩。 –