Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CloseHandle


wicked ©   (2004-09-05 23:35:00) 

нужно ли вызывать CloseHandle для Handle'а завершившегося thread'а?....
и чем чревато, если его не вызывать?...


akvilon   (2004-09-06 19:20:00) [1]

в рихтере


wicked   (2004-09-06 01:21:00) [2]

спасибо... всё работает как надо....
а я то хотел городить конструкцию для передачи хендла потока в него самого для последующего убийства...


> Создавая поток, он получает число пользователей объекта
> ядра "поток" равное 2:
> 1) твоя прога
> 2) сам поток

а где об этом можно прочесть?...


akvilon   (2004-09-06 00:43:00) [3]

Создавая поток, он получает число пользователей объекта ядра "поток" равное 2:
1) твоя прога
2) сам поток
вызывая CloseHandle уменьшаешь число пользователей на один, остается только сам поток как пользователь. Так что получается что можно.
А лучше так
CreateThread(...);
и дальше сразу CloseHandle


wicked   (2004-09-05 23:54:00) [4]

угу, спасибо, недоглядел в msdn'е....
тогда возникает законный вопрос - можно ли делать CloseHandle этому handle'у внутри самого thread'а?...

зачем это нужно - хочется иметь механизм, позводяющий запускать коротенькие асинхронные функции, не заботясь в главном потоке об освобождении ресурсов... естественно, что сам handle thread'а нам в дальнейшем не нужен...


akvilon   (2004-09-05 23:46:00) [5]

ну конечно нужно, как только thread перестал тебе быть нужен, сразу closehandle, чревато тем, что объект ядра Thread будет существовать в памяти по меньшей мере до окончания работы твоей программы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо