有很好的文档证明,当.NET的自动垃圾收集器运行时,它会暂时暂停与应用程序域关联的所有正在运行的托管线程。我无法发现的是有关当垃圾收集发生时应用程序创建的本机线程发生的情况的详细信息(即使用_beginthreadex()而不是System.Threading.Thread())。它们是否同样暂停或是否在运行?
答案 0 :(得分:20)
this有帮助吗?
“GC不会阻止不是的线程 运行托管代码。既然那些 线程无法触及GC 无论如何堆,没有必要 GC与他们协调。“
“如果一个帖子在托管代码中,但是 它会调用本机代码 继续跑。如果,它将被停止 它返回托管代码。“