Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Освобождение ресурсов при многопоточности 
:(
    Опции темы
Nloge
Дата 7.12.2002, 12:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Создаю в программе новый Thread с помощью AfxBeginThread. Функция, составляюшая этот новый Thread (ThreadProc), имеет вид:
Код

try{
 <инициализация>
 do{
   <cчитаем>
   }while (!bStop)
}
catch(char* exception)
 {
   AfxMessageBox(exception);
 }
<освобождение ресурсов>
return 0;


Вопрос - будут ли освобождены ресурсы выделенные этому потоку, когда я закрываю программу?
bStop объявлена как глобальная переменная (volatile). Устанавливается она в true при нажатии на кнопку в основном окошке. Я так понимаю что ресурсы все же не освобождаютья, если я буду устанавливать bStop перед закрытием основной формы - поможет ли это?
  Вверх
suborg
Дата 8.12.2002, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 29.4.2002
Где: Москва

Репутация: нет
Всего: нет



На сколько я понимаю, ресурсы выделяются под процесс, потоки этого процесса между собой выделенные ресурсы делят, но если процесс завершается, то есть завершаются все его потоки, то соответственно все его ресурсы освобождаются.
PM MAIL WWW ICQ   Вверх
Fantasist
Дата 8.12.2002, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Вообще-то, при завершении процесса, система освободит все ресурсы задействованные эти процессом. Не уверен, относиться ли это к глобальным аллокациям с помощью API(типа FileMapping), но скорее всего и это как-то отслеживается. Так же нужно знать - процесс не завершиться, пока не завершатся ВСЕ его потоки.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0395 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.