Показать сообщение отдельно

  #7  
Старый 31.08.2007, 11:17
Satell
Познающий
Регистрация: 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..
 
Ответить с цитированием