【发布时间】:2011-10-13 18:52:41
【问题描述】:
我有一个最多可创建 5 个线程的 c# 控制台应用程序。
线程执行良好,但 UI 线程在完成工作时关闭。
有没有办法让主 UI 线程在运行时保持主 UI 线程运行?
foreach (var url in urls)
{
Console.WriteLine("starting thread: " + url);
ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(myMethod), url);
}
我正在按照上面的代码开始我的线程。
【问题讨论】:
-
如果你创建普通线程,而不是使用线程池呢?
-
什么版本的 .NET?如果 .NET 4.0 我推荐 TPL 任务,将所有任务存储在一个数组中,并在退出前使用 Tasks.WaitAll(myTaskArray)。
-
我认为线程需要是
BackgroundWorker=false -
@James 应该将其发布为答案,顺便说一句,在博客上做得很好 :)
标签: c# multithreading