![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Остановлен ли поток после TerminateThread ?
Juice © (2005-07-25 14:45:00)Прочитал у Рихтера, что вызов TerminateThread еще не означает что после выполнения данной функции можно считать что поток остановлен и уничтожен - это может произойти с некоторой задержкой. Как тогда узнать, что поток действительно остановлен ?
h := pQueryThread.Handle;
TerminateThread(pQueryThread.Handle, 1);
r:=WaitForSingleObject(h, INFINITE); //r=0
Однако получается лажа, он еще что-то делает
begin...end (2005-07-25 16:32:00) [1]> Juice © (25.07.05 14:45)
> r:=WaitForSingleObject(h, INFINITE); // r=0
Ну и? Разве это не означает, что поток завершился?
Juice (2005-07-25 14:56:00) [2]
> Когда он
> еще что-то делает
> проверяй
> if Terminated then
> Прекращай что-то делать.
:)
Kolan (2005-07-25 14:48:00) [3]Когда он
еще что-то делает
проверяй
if Terminated then
Прекращай что-то делать.