讓我描述一下我試圖實現的目標。我正在用C#編程。C#背景線程
我有一個函數(方法)DoCalculations()。我想遞歸地調用這個DoCalculations()方法。但是,在C#中,我得到異常作爲未處理的異常System.StackOverflow。 所以,我試圖在背地面線程上運行DoCalculations()方法。
在FORM LOAD事件上。我做了以下事情: -
Thread objThread = new Thread(new ThreadStart(DoCalculations));
在開始按鈕單擊事件。我正在啓動線程如下。
objThread.IsBackground = true;
objThread.Start();
while (!objThread.IsAlive)
{
}
而且我打算用上面的While循環連續運行方法DoCalculations()。
DoCalculations()
{
//some calculations.
}
我在DoCalculations()方法中獲得了一次控制權。但是,我想每一次都這樣做。
如果有人能夠幫助我關於背地線,還是有什麼更好的方法來實現並行計算。
我已經在上面VB.NET方法使用,使我更加困惑,爲什麼它不是在C#.NET
任何援助工作,意見極大的讚賞。
感謝 AP
你是什麼意思 - 「我確實在DoCalculations()方法中控制一次」? –
爲什麼不嘗試修復堆棧溢出異常? – Lee
「我想遞歸地調用這個DoCalculations()方法。」 - DoCalculations'自稱嗎?你確定終止條件是正確的嗎? – forsvarir