Search code examples
c#.netgarbage

.NET Garbage Collector in a separate Thread?


Is it possible to run the garbage collection in a separate thread? So that it dosent block the main Thread of the process?


Solution

  • Background GC happens on a separate thread already - that's why it's "background" - but there is part of the GC lifecycle that must block all threads in the process (not just the main thread) to complete - it's an unavoidable necessity that MS has worked to minimize - you can facilitate it in your code by being as smart with your own object lifecycles, using look aside lists instead of large amounts of new/disposes, etc.