#c# #garbage-collection
#c# #сбор мусора
Вопрос:
Из исследования по сборке мусора, коллекция серверов позволяет создавать отдельный поток для каждого имеющегося у вас ядра процессора, который запускает отдельную кучу GC и Generational. Но я не смог найти ничего о том, получает ли каждый поток свою собственную кучу LOH или для каждого приложения есть только одна куча LOH
Комментарии:
1. При задании подробного технического вопроса важна терминология. Я наблюдал за тем, как вы используете «Коллекцию серверов» , пытаясь понять, о чем вы говорите (большинство коллекций не имеют ничего общего с LOH). Только когда появился ответ, я понял, что вы имели в виду систему сбора мусора на сервере
Ответ №1:
Интересный вопрос. Кажется, что он поддерживает кучу (маленькую и большую) для каждого процессора, но не для каждого потока. Что имеет большой смысл 🙂
Сборка мусора на рабочей станции и сервере
Сборщик данных сервера
Ниже приведены соображения о потоках и производительности для сборки мусора сервера:
…
- Для каждого процессора предусмотрены куча и выделенный поток для выполнения сборки мусора, и кучи собираются одновременно. Каждая куча содержит небольшую кучу объектов и большую кучу объектов, и все кучи могут быть доступны с помощью пользовательского кода. Объекты в разных кучах могут ссылаться друг на друга.