我正在阅读和article关于优化.Net应用程序的性能。作者陈述
它显示了主线程在所有这些GC中的作用。大部分时间(97.3%)等待。 这意味着GC发生在其他一些线程上(显然在FileProcessing线程上),主线程必须等到GC完成。
据我所知.Net GC是世界各地的收藏家。因此,如果您的主线程正在等待,这意味着所有其他线程也必须等待。 GC线程本身除外。
文章是否过时或我弄错了?
答案 0 :(得分:1)
原因是在单独的线程中发生的Background GC与在触发GC的同一线程上运行的Blocking GC之间存在误解。