主线程执行完成后内部线程会发生什么?
例如:
程序 1 创建 5 个线程在后台运行。
程序 1 崩溃。
那些线程是活的吗?
他们会因为线程绑定在进程上下文中而被杀死?
主线程执行完成后内部线程会发生什么?
例如:
程序 1 创建 5 个线程在后台运行。
程序 1 崩溃。
那些线程是活的吗?
他们会因为线程绑定在进程上下文中而被杀死?
所有这些资源都链接到流程数据结构。当进程终止时,Windows 会确保清理所有资源。
没有找到对文档的引用[随意添加一些,我确信我在 M.Russinovich “Windows Internals”一书中读到了这个],但这里有几个关于内存释放的类似答案。线程清理是进程终止时 Windows 调用的清理例程的一部分。
如果线程 A 创建线程 B 并且线程 A 终止,则线程 B 不会被杀死,因为线程之间没有父/子关系。
其他线程终止的唯一情况是主进程终止时(因此,如果程序崩溃,它们确实会被杀死)。