有沒有什麼辦法可以創建一個線程,無論1分鐘後結束?線程的自毀計時器?
目前,我讓一個線程登錄到網站代碼如下:
private void runBrowserThread()
{
specialCheck = 0;
var th = new Thread(() =>
{
var br = new WebBrowser();
browserCounter = 0;
br.ScriptErrorsSuppressed = true;
br.DocumentCompleted += browser_DocumentCompleted;
br.Navigate("https://www.xample.com/login");
Application.Run();
});
th.SetApartmentState(ApartmentState.STA);
th.Start();
th.Join();
}
但也有很多在這個過程中的併發症,所以我不希望他們所有的代碼,我在想什麼東西就像我在製作這個計時器時可以使用的自我毀滅一樣,這樣無論代碼卡住了什麼,它都不會達到其中的一個Application.Exitthread()
它將永久停留在那裏,1分鐘後自毀,退出線程,代碼可以繼續前進。
因爲目前我在很多地方都有Application.Exitthread()
,但有時我的代碼卡住了,所以沒有達到任何,所以讓我知道是否有任何方法。
是的你可以:http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.aspx但是,似乎是一個醜陋的黑客給我。爲什麼不使用異常? –