我正在開發Windows Mobile 5.0及更高版本應用程序使用.Net Compact Framework 2.0 SP 2和C#。如何知道線程在.NET Compact Framework上何時結束?
如何知道線程何時結束?
這是我的代碼:
System.Threading.Thread thread1 =
new System.Threading.Thread(() => RetreiveSoMuchData(ID));
thread1.Start();
謝謝。
有兩個問題:如果我觸發了一個事件,這個事件將會在這個線程或主線程中運行。第二個問題是關於你的第三個可能性:AutoResetEvent會阻止應用程序? – VansFannel 2009-12-01 11:30:09
如果您觸發該事件,它將位於後臺線程上。如果你打算更新UI,你將不得不通過.Invoke()或BeginInvoke()回傳到UI線程。如果你在一個句柄上等待,你將需要在這個等待(不推薦)時鎖定UI線程,或者讓另一個線程等待這個事件。但是,在後一種情況下,如果您想要觸摸UI,您仍然會遇到編組問題。另一種方法是讓UI線程在後臺線程完成時更新的計時器上查詢一個值(比如bool)(然後你不需要任何編組)。 – Quibblesome 2009-12-01 12:00:52
我個人仍然會爲事件觸發加上編組我自己。 – Quibblesome 2009-12-01 12:02:36