我有一個線程從一個網站收集URL列表並更新UI,因爲它是這樣做的。這工作正常。但是,我需要主線程來等待鏈接被收集。我試圖加入,但是這會鎖定用戶界面。這是我的例子。正如你現在所看到的,foreach循環在線程運行的同時被調用。我希望foreach在線程運行後運行。線程和正在等待
任何想法?
/** This thread will add links to list<string> linkList **/
Thread linkListThread = new Thread(new ThreadStart(getLinkList));
linkListThread.Start();
foreach (String link in linkList)
{
txtOutput.Text += link;
}
A面提示,你可以這樣做'txtOutput.Text =的string.join( 「」,linkList.ToArray() )',在記憶上更快更好。 – 2010-02-08 12:45:04
如果您當前的線程只是產生另一個線程來完成這項工作,然後必須等待該線程完成,那麼爲什麼要使用兩個線程來完成此任務?爲什麼不直接調用直接完成工作的代碼呢? – 2010-02-10 11:12:11