0
我使用下面的代碼對象是目前在其他地方使用
出現以下錯誤
對象是目前在其他地方使用。
請告訴我rnd.Next有副作用的正確方法
Random rnd = new Random();
Pen p = new Pen(Color.Black);
Parallel.For(0, 1000,
i =>
pictureBox1.CreateGraphics().DrawEllipse(p, rnd.Next(0, pictureBox1.Width),
rnd.Next(pictureBox1.Height),
10, 20)); // error runtime
想必'pictureBox1'對象是告訴你,這是不是線程安全的。 (你也應該注意到'Random'類也不是線程安全的。) – LukeH
也許隨機被多個線程加入嘗試用新的Random.Next替換rnd.Next。 – user629926
@ user629926:你說得對,Random是不是線程安全的,但它不會產生任何友好的ish錯誤,比如*「Object當前正在其他地方使用」*;它只是打破了! – LukeH