是否可以在单独的线程中运行垃圾收集?那么它是否会阻止进程的主线程?
答案 0 :(得分:2)
是的,但是有些配置可以在后台自动运行。
请参阅Garbage Collection process上的这篇文章。 https://msdn.microsoft.com/en-us/library/ee787088(v=vs.110).aspx
答案 1 :(得分:0)
背景GC已经发生在一个单独的线程上 - 这就是为什么它是“背景” - 但是有一部分GC生命周期必须阻止进程中的所有线程(不仅仅是主线程)才能完成 - 这是一个不可避免的必要条件MS一直致力于最小化 - 您可以通过使用自己的对象生命周期,使用旁观列表而不是大量新/处置等来为您的代码提供便利。