Очистка памяти, как заставить работать дворника - C#

Узнай цену своей работы

Формулировка задачи:

уже неделю пытаюсь разобраться в очистке памяти но все как то поверхностно... по этому прошу какого то логического объяснения (разжевать желательно) как же правильно реализовать очистку.. проект использует библиотеку.. а точнее в основной программе создается экземпляр объекта библиотеки, который запускает таймеры, подключение к серверу, вообщем обрабатывает кучу информаци... Экземпляр создается в потоке:
ClassBib Z = new ClassBib(данные);
в конце потока вызывается функция:
ClassBib.disconnect();
вот сама функция:
 public void disconnect()
        {
            socket.Disconnect(true);
        }
всего таких потоков будет около 1000 (одновременно выполняемых около 70). после завершения одного потока используемая память прекращает увеличивается, но висит в памяти компьютера... за 600 выполненных потоков программа занимает 2.5 а то и более гигов дальше ресурсы компьютера кончаются.. да где то все очень криво.. да 70 потоков не выполняются в раз.. если бы ресурсы компьютера позволяли вызвал бы и 1000 потоков... в общем.. если есть люди которые могут помочь с очисткой памяти подсказать как заставить сборщик мусора подобрать переменные которые я не использую, я могу скинуть библиотеку, суммарное количество строк кода около 4 000. Надеюсь на вашу помощь, вы мое последнее спасение...

Решение задачи: «Очистка памяти, как заставить работать дворника»

textual
Листинг программы
using()
{
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы