代码之家  ›  专栏  ›  技术社区  ›  TOP KEK

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

  •  2
  • TOP KEK  · 技术社区  · 8 年前

    我在看书 article

    它显示了主线程在所有这些GCs期间所做的操作。大多数情况下(97.3%) . 这意味着GC发生在其他线程上

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

    1 回复  |  直到 8 年前
        1
  •  2
  •   Yeldar Kurmangaliyev    8 年前

    原因是在一个单独的线程中发生的后台GC和在触发GC的同一个线程上运行的阻塞GC之间存在误解。

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

    推荐文章