如果 .NET 程序创建并启动一个System.Threading.ThreadPool
线程,然后程序结束(自然或崩溃):
- 是否有可能
Thread
生存并自行进行处理? - 是否有可能由于主 UI 线程已经结束,应用程序看起来已经终止,但是后台线程继续以不可见的方式运行?
如果 .NET 程序创建并启动一个System.Threading.ThreadPool
线程,然后程序结束(自然或崩溃):
Thread
生存并自行进行处理?不。根据定义,如果进程的线程之一仍在工作,那么它实际上并没有结束。
线程不能独立于进程而存在,所以不。
没有。而且从马的嘴里(MSDN)
托管线程池中的线程是后台线程。也就是说,它们的
IsBackground
属性是真实的。这意味着ThreadPool
在所有前台线程都退出后,线程将不会让应用程序继续运行。