.NET 垃圾收集器在单独的线程中?
.NET Garbage Collector in a separate Thread?
是否可以 运行 在单独的线程中进行垃圾回收?这样它就不会阻塞进程的主线程?
是的,但是有一些配置可以让您在后台自动运行它。
请参阅 Garbage Collection process 上的这篇文章。
https://msdn.microsoft.com/en-us/library/ee787088(v=vs.110).aspx
后台 GC 已经发生在一个单独的线程上 - 这就是它 "background" 的原因 - 但 GC 生命周期的一部分必须阻止进程中的所有线程(不仅仅是主线程)才能完成 - 它是MS 已努力将不可避免的必要性降至最低 - 您可以通过巧妙地处理自己的对象生命周期、使用后备列表而不是大量 new/disposes 等
来促进它在代码中的使用
是否可以 运行 在单独的线程中进行垃圾回收?这样它就不会阻塞进程的主线程?
是的,但是有一些配置可以让您在后台自动运行它。
请参阅 Garbage Collection process 上的这篇文章。 https://msdn.microsoft.com/en-us/library/ee787088(v=vs.110).aspx
后台 GC 已经发生在一个单独的线程上 - 这就是它 "background" 的原因 - 但 GC 生命周期的一部分必须阻止进程中的所有线程(不仅仅是主线程)才能完成 - 它是MS 已努力将不可避免的必要性降至最低 - 您可以通过巧妙地处理自己的对象生命周期、使用后备列表而不是大量 new/disposes 等
来促进它在代码中的使用