2011-11-25 18 views
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 
+0

想必'pictureBox1'對象是告訴你,這是不是線程安全的。 (你也應該注意到'Random'類也不是線程安全的。) – LukeH

+0

也許隨機被多個線程加入嘗試用新的Random.Next替換rnd.Next。 – user629926

+0

@ user629926:你說得對,Random是不是線程安全的,但它不會產生任何友好的ish錯誤,比如*「Object當前正在其他地方使用」*;它只是打破了! – LukeH

回答

相關問題