我想將它用於一個項目,並且我遇到了麻煩。 我有一個Windows窗體,其中我開始了兩個線程,然後關閉窗體並且線程繼續他們的工作。當第二個線程停止時,如何中止第一個線程?線程問題
我做了第一個線程IsBackground,但第二個線程不是程序的唯一線程,並且第一個線程在另一個線程(窗體)中被關閉並且不再存在,此外我不能設置標誌一個不存在的類。 我該怎麼辦?
爲了解決這個問題,我希望你的電子郵件發送我的litle項目。 謝謝
我想將它用於一個項目,並且我遇到了麻煩。 我有一個Windows窗體,其中我開始了兩個線程,然後關閉窗體並且線程繼續他們的工作。當第二個線程停止時,如何中止第一個線程?線程問題
我做了第一個線程IsBackground,但第二個線程不是程序的唯一線程,並且第一個線程在另一個線程(窗體)中被關閉並且不再存在,此外我不能設置標誌一個不存在的類。 我該怎麼辦?
爲了解決這個問題,我希望你的電子郵件發送我的litle項目。 謝謝
你說你可以設置一個不存在的標誌或類,但我會在某處創建一個標誌。如果這是不可能的,我建議你需要發佈原因。
所以我在參考發送到bool
以某種方式兩個線程,當第一個線程完成,將設置bool
到true
和第二線程將繼續檢查該bool
然後退出的時候它是真實的。
如果您使用的是.NET 4.0,並且使用CancellationToken
來取消操作,那麼我建議將後臺工作作爲Task
對象。
如果您還不在.NET 4.0中,則可以使用BackgroundWorker
對象,該對象還支持取消。
你可能最好不要從將要消失的窗體創建線程。也許你應該在Program.cs中創建線程,然後你可以在應用程序關閉時從那裏殺掉它們。或者這種方法的一些變體取決於你的應用程序的結構。
我正在使用VB.NET2008,我創建了一個模塊並在其中聲明瞭我的線程和標誌。如果我有你的電子郵件,我會爲你發送我的小項目。 感謝和抱歉我的英語不好。 – Sadjad 2010-07-19 04:32:08
我正在使用VB.NET2008,我創建了一個模塊並在其中聲明瞭我的線程和標誌。如果我有您的電子郵件,我會爲您發送我的小項目。 感謝和抱歉我的英語不好。 – Sadjad 2010-07-19 04:33:39