Утечка ресурсов потока Linux? - PullRequest
2 голосов
/ 25 февраля 2009

В одном из многопоточных приложений Linux приложение закрывается без удаления потока. Будет ли это вызвать любую утечку ресурсов потока. Если это приложение будет запускаться много раз в течение дня, произойдет ли сбой системы?

Ответы [ 2 ]

4 голосов
/ 25 февраля 2009

По большей части все ресурсы, используемые программой, очищаются, когда программа существует. Есть несколько исключений (неполный список здесь, без сомнения):

  • файлов создано (дух!)
  • Сокеты TCP могут занять несколько минут после завершения программы для полной очистки (например, сокеты TIME_WAIT)
  • Общая память SysV, семафоры и очереди сообщений (очистка вручную с помощью ipcs / ipcrm)

Кроме этого, почти все вычищено. Включая темы.

Естественно, вы должны это проверить.

3 голосов
/ 25 февраля 2009

Ядро обычно очищает ресурсы процесса (открытые файлы, потоки, выделенная память и т. Д.) При его выходе, поэтому я не думаю, что вам нужно беспокоиться. Хотя может быть стилистически лучше удалить поток явно, возможно, в зависимости от вашего предпочтительного стиля кодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...