
31.08.2007, 11:17
|
|
Познающий
Регистрация: 13.01.2007
Сообщений: 78
Провел на форуме: 65872
Репутация:
10
|
|
в WorkerFunction вызывается getpage (см. первое сообщение), которая часто подвешивается, WaitForSingleObject ждёт 5 сек и потом по идее должна завершать поток, я думал это делает CloseHandle (hThread), но она этого не делает!!! копиться много потоков, пока не сожрут все ресурсы системы, как грамотно завершить поток?
Код:
if ( WaitForSingleObject ( hThread, dwTimeout ) == WAIT_TIMEOUT )
{
cout << "Can not connect to server";
ExitThread(dwThreadID); //при её использование тут программа просто виснет
TerminateThread(hThread,0); // говорят некорректно освобождает ресурсы, в общем все ресурсы системы все равно сжираются,
хотя потоков кажется меньше создаётся
}
Последний раз редактировалось Satell; 31.08.2007 в 11:23..
|
|
|