Omprakash Sharma Ответов: 1

Удаляет ли сборщик мусора память, занятую дочерними потоками его родительского потока


У меня есть служба Windows, которая закодирована в VB.Net.

Служба содержит основной родитель Нить который спит с интервалом в три минуты.

Когда родитель Нить начните выполнение он создает несколько Дочерние Потоки чья задача состоит в том, чтобы обработать запрос и сбросить данные в В MySQL соответствующие таблицы.

Мой вопрос заключается в том, что Дочерний Поток создаются внутри родителя Нить- ну и что сборщик мусора очищает память, занятую Дочерняя нить с интервалом в три минуты или нам нужно вручную написать скрипт для очистки данных потока <.

Потому что я получаю Система.Раскладывал.Памяти.Исключение что останавливает выполнение службы.

Что я уже пробовал:

Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответов

Рейтинг:
6

Jochen Arndt

Видеть Основы сборки мусора | Microsoft Docs[^]:

Цитата:
Для каждого управляемого процесса существует управляемая куча. Все потоки в процессе выделяют память для объектов в одной и той же куче.
Таким образом, сборка мусора влияет на память всех потоков процесса.

Если у вас заканчивается память, я предлагаю уменьшить / оптимизировать использование памяти.