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

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

threads


oleggar ©   (2005-12-15 21:39:00) 

мое приложение на Делфи состоит из 4 потоков ,один из которых-главный ,никак не может зависнуть ,а остальные могут.Как сделать ,чтоб при зависании одного из неглавных потоков приложение автоматически завершалось по таймеру?


oleggar   (2005-12-16 10:28:00) [1]

это я все понимаю .вопрос один - terminate thread убьет поток В ЛЮБОМ СЛУЧАЕ? даже если в нем открыт и занят файл или тяжелое зависание?


Leonid Troyanovsky   (2005-12-16 08:43:00) [2]


> Германн ©   (16.12.05 01:54) [2]

> >  Тогда убиваем его принудительно и завершаем приложение.

> Или убиваем его и снова стартуем его.


Снова стартовать - лишнее.
Т.е., после TerminateThread и перед завершением приложения,
попытаться выяснить причины "зависания", или, на худой конец,
занести в лог относящиеся к проблеме данные для
последующего анализа.

Ну, а чтобы не было мучительно больно, лучше искать причины
нехорошего поведения в самом начале пути.

--
Regards, LVT.


Германн   (2005-12-16 01:54:00) [3]


>  Тогда убиваем его принудительно и завершаем приложение.
>

Или убиваем его и снова стартуем его.
Но, при этом всём, ну очень желательно вести некий лог, чтобы потом "не было мучительно больно" за безценно потраченные время, усилия и т.п.


Юрий Зотов   (2005-12-15 21:55:00) [4]

Каждый поток периодически сообщает главному о том, что он нормально работает. Если в течение какого-то времени таких сообщений от потока не поступает - значит, этот поток завис. Тогда убиваем его принудительно и завершаем приложение.


Наверх

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