-2
所以我在一個類定義一個隨機生成這樣C#爲什麼播種隨機發生器停止我的程序?
static Random random = new Random(DateTime.Now.Millisecond);
,並在類調用函數時,即使該功能是一片空白,似乎從運行阻止整個程序。
static Random random = new Random();
但是,當我這樣做,它按預期工作?
編輯與代碼:
這個程序是專門所以這裏的XNA遊戲的更新功能
protected override void Update(GameTime gameTime)
{
Debug.WriteLine("This happenens");
EnemyController.generateEnemies();
Debug.WriteLine("This does not");
}
這裏是其它類
public static class EnemyController
{
static Random random = new Random(DateTime.Now.Millisecond);
public static void generateEnemies()
{
Debug.writeLine("This code wont run");
}
}
其他事情正在發生。在調試時,如果你在執行中斷,你的程序會在哪一行掛起? – Oded 2012-03-01 17:12:09
這不是說它可能在這裏,但是你的程序是多線程的嗎?因爲'Random'不是線程安全的...... – 2012-03-01 17:15:46
這裏有一篇關於如何使'隨機'線程安全的文章:http://blogs.msdn.com/b/pfxteam/archive/2009/02/19/19 9434171.aspx – 2012-03-01 17:18:12