| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как правильно убить дочерний Thread ? |
| Автор: Гость_Игорь 20.6.2005, 22:10 | ||
| Мне надо обработать следующую ситуацию: аварийно закрыть приложение, когда запущены дочернии потоки и эти потоки не отвечают. Типа такого :
. Я думал что при закрытии приложения ОС сама должна с этими потоками как-то разобраться, но на самом деле приложение подвисает - т.е. не может завершиться пока есть дочерние активные потоки. Как правильно обработать ситуацию? т.е., повторюсь, мне надо не ждать нормального завершение потока, а "убить" зависшие потоки. Как это правильно делают? Заранее спасибо. |
| Автор: Girder 20.6.2005, 23:02 | ||
|
| Автор: Poseidon 20.6.2005, 23:10 | ||
|
| Автор: Гость_Игорь 20.6.2005, 23:42 |
| to Girder в том то и дело что у меня код может зациклится т.е. while true do while not Terminated do мне не подходит ------ to Poseidon пробовал, не помогает. TerminateThread(MyThread.ThreadID, 0) возвращает false а выполнение продолжается |
| Автор: Poseidon 20.6.2005, 23:50 | ||
Я так?
|
| Автор: p0s0l 21.6.2005, 00:41 | ||
|
| Автор: Гость_Игорь 21.6.2005, 11:27 |
| Точно! Заработало. Спасибо. |