GC против GC SuspendedEE - PullRequest
       20

GC против GC SuspendedEE

2 голосов
/ 17 октября 2011

Когда я запускаю команду! Threads -special, я получаю следующее.Есть и другие строки в выводе, которые я удалил для краткости.

OSID     Special thread type  

15 26ec GC SuspendEE
15 3174 GC

Любые идеи, в чем разница между GC и GC SuspendedEE

1 Ответ

2 голосов
/ 17 октября 2011

В сервере типа GC вы можете иметь несколько потоков GC - точнее, один поток на процессор. Способ работы GC сервера, если один из потоков останавливает механизм выполнения CLR (EE), чтобы потоки GC могли безопасно перемещать объекты. Только один поток должен остановить EE, и поток GC # 0 всегда делает это. Тот же поток отвечает за возобновление EE после завершения цикла GC.

Наличие «GC SuspendEE» на выходе !threads -special означает две вещи:

  1. Это GC-нить # 0
  2. В данный момент выполняется цикл GC. После завершения флаг SuspendEE будет удален из этой цепочки.
...