【发布时间】:2011-01-15 10:47:08
【问题描述】:
后台线程、前台线程和主线程有什么区别? .NET 中有哪些不同类型的线程?
【问题讨论】:
标签: .net multithreading background main foreground
后台线程、前台线程和主线程有什么区别? .NET 中有哪些不同类型的线程?
【问题讨论】:
标签: .net multithreading background main foreground
后台线程(其 Thread 对象的 Background 属性设置为 true)将
不阻止应用程序退出。
一旦所有正常(前台)线程都退出,所有正在运行的后台线程都会立即终止。 此外,如果卸载 AppDomain,则 AppDomain 中的所有后台线程都会立即中止。
ThreadPool 管理的线程是后台线程。
前台线程是普通线程。
主线程是启动程序的初始线程。 (运行Main方法的线程)
如需了解更多信息,请参阅here。
【讨论】:
ThreadPool.SetMaxThreads来改变它。
文档中简明扼要地说明了区别。程序结束时,后台线程被中断。
http://msdn.microsoft.com/en-us/library/h339syd0(VS.71).aspx
【讨论】:
后台线程就是这样,它是从应用程序的 UI 线程在后台运行的线程。类似 winforms 应用程序中的 UI 线程是负责重新绘制 UI 和其他用户交互的线程。
将长时间运行的进程移至后台线程将有助于提高可用性。这是一个很好的intro document 为你线程。
【讨论】: