.NET垃圾收集器在一个单独的线程?

时间:2015-09-17 20:20:20

标签: c# .net garbage

是否可以在单独的线程中运行垃圾收集?那么它是否会阻止进程的主线程?

2 个答案:

答案 0 :(得分:2)

是的,但是有些配置可以在后台自动运行。

请参阅Garbage Collection process上的这篇文章。 https://msdn.microsoft.com/en-us/library/ee787088(v=vs.110).aspx

答案 1 :(得分:0)

背景GC已经发生在一个单独的线程上 - 这就是为什么它是“背景” - 但是有一部分GC生命周期必须阻止进程中的所有线程(不仅仅是主线程)才能完成 - 这是一个不可避免的必要条件MS一直致力于最小化 - 您可以通过使用自己的对象生命周期,使用旁观列表而不是大量新/处置等来为您的代码提供便利。