GC是否会停止.NET中的所有应用程序线程?

时间:2017-07-17 15:04:17

标签: c# .net garbage-collection clr

我正在阅读和article关于优化.Net应用程序的性能。作者陈述

  

它显示了主线程在所有这些GC中的作用。大部分时间(97.3%)等待这意味着GC发生在其他一些线程上(显然在FileProcessing线程上),主线程必须等到GC完成。

据我所知.Net GC是世界各地的收藏家。因此,如果您的主线程正在等待,这意味着所有其他线程也必须等待。 GC线程本身除外。

文章是否过时或我弄错了?

1 个答案:

答案 0 :(得分:1)

原因是在单独的线程中发生的Background GC与在触发GC的同一线程上运行的Blocking GC之间存在误解。

https://jetbrains.com/help/profiler/CLR_Activity.html