这是相当有据可查的,当.NET的自动垃圾收集器运行时,它将暂时中止与应用程序域相关的所有正在运行的托管线程。我无法发现的细节是关于发生垃圾回收时由应用程序创建的本地线程会发生什么情况(即使用_beginthreadex()而不是System.Threading.Thread())的详细信息。他们是否同样暂停或左边运行?.NET垃圾回收和原生线程
回答
请问this有帮助吗?
“A GC不会停止不属于线程 运行托管代码。由于这些 线程无法反正接触GC的 堆,没有必要为 GC与他们协调。”
“如果一个线程在托管代码,但 叫了原生代码,它将 继续运行,它会如果 它返回到托管代码停止。”
+1尼斯链接。非常有趣的东西。希望您不介意,我编辑了您的帖子,以包含博客中的相关内容以防脱机。 – 2009-12-08 23:00:29
这很有趣。为什么这些线程无法触及GC堆?那么'gcroot
只要本地线程使用托管代码,它就向垃圾收集器注册。所以当GC运行时,线程暂停。只有当线程死亡,它才会被取消注册。 – 2009-12-08 23:02:10
- 1. Python线程垃圾回收
- 2. .Net 4垃圾回收
- 3. .net垃圾回收和管理资源
- 4. 线程没有垃圾收集/线程池线程/ C#/ .net
- 5. 垃圾回收和cgo
- 6. Spidermonkey和垃圾回收
- 7. Objective-c和垃圾回收
- 8. HashMap.remove和垃圾回收
- 9. 循环和垃圾回收
- 10. .net C#垃圾回收问题
- 11. .net垃圾回收器何时运行?
- 12. JDBC垃圾回收
- 13. Java:垃圾回收
- 14. C#垃圾回收
- 15. Java:垃圾回收
- 16. Erlang垃圾回收
- 17. java垃圾回收
- 18. Python垃圾回收
- 19. JS垃圾回收
- 20. Javascript垃圾回收
- 21. PhoneGap垃圾回收
- 22. java - 垃圾回收
- 23. IIS应用程序池和.NET垃圾回收
- 24. .NET Windows服务,线程和垃圾回收(可能的内存泄漏)
- 25. .NET垃圾收集器
- 26. 未发生自动垃圾回收
- 27. 反应原生调试日志记录垃圾回收
- 28. ActiveX对象和.NET垃圾收集器
- 29. C#和.Net垃圾收集器性能
- 30. 在.NET中发生垃圾回收时是否存在事件?
道具的重大问题。 (道具++) – 2009-12-08 23:06:11
另请参阅[这里](http://stackoverflow.com/questions/8404245/gc-behavior-and-clr-thread-hijacking)和[这里](https://msdn.microsoft.com/en -us /库/ 678ysw69.aspx)。 – Nicholas 2015-05-31 12:16:59