![]() |
1
9
在 通过C语言实现CLR Richter解释说:
(见第20章的“最终确定内部结构”标题) 这是他谈论垃圾收集器线程的唯一上下文。在本章稍早的部分,他解释说垃圾收集是为了响应以下事件之一而启动的:
…这表明垃圾收集器创建的唯一线程是这个“高优先级”终结器线程。 编辑: 然后,他在“并行收集”中继续解释:
|
![]() |
2
5
GC线程以正常优先级运行。终结器线程以“最高”优先级运行。 您可以通过打开调试“线程”窗口,并在托管应用程序的任何位置中断来看到这一点。这些线程都列出了它们的优先级(尽管它们没有命名)。需要一点时间才能破译出哪个线程,但是会有一个额外的“正常”和“最高”优先级线程,它对应于GC和终结器线程。 |
![]() |
3
1
GC运行所依赖的线程取决于应用程序使用的GC版本。 这个问题的答案包含在我写的一篇博文中: How to determine which garbage collector is running |
![]() |
4
0
垃圾收集器的运行优先级低于关键线程 |
![]() |
5
0
GC线程优先级是一个实现细节,现在它们以普通优先级运行,但是终结器线程以高优先级运行,并且也有超时。 |
![]() |
codeforester · 测量GC暂停时间的最佳方法是什么? 6 年前 |
![]() |
Venki WAR · 需要解释G1的并行完整GC 6 年前 |
![]() |
Stephan_Berlin · 为什么CMS系列中的初始标记阶段 6 年前 |
![]() |
Bonsaisteak · 为什么年轻一代需要三个区域来收集垃圾? 6 年前 |
![]() |
goks · 如何清除熊猫的数据帧内存? 6 年前 |