我有一个线程从一个网站收集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