问题
Is it possible to run the garbage collection in a separate thread? So that it dosent block the main Thread of the process?
回答1:
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.
回答2:
Yes, however there are some configurations where you can run it in the background automagically.
see this article on the Garbage Collection process . https://msdn.microsoft.com/en-us/library/ee787088(v=vs.110).aspx
来源:https://stackoverflow.com/questions/32639298/net-garbage-collector-in-a-separate-thread