Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Вниз
threads Найти похожие ветки
← →
oleggar © (2005-12-15 21:39) [0]мое приложение на Делфи состоит из 4 потоков ,один из которых-главный ,никак не может зависнуть ,а остальные могут.Как сделать ,чтоб при зависании одного из неглавных потоков приложение автоматически завершалось по таймеру?
← →
Юрий Зотов © (2005-12-15 21:55) [1]Каждый поток периодически сообщает главному о том, что он нормально работает. Если в течение какого-то времени таких сообщений от потока не поступает - значит, этот поток завис. Тогда убиваем его принудительно и завершаем приложение.
← →
Германн © (2005-12-16 01:54) [2]
> Тогда убиваем его принудительно и завершаем приложение.
>
Или убиваем его и снова стартуем его.
Но, при этом всём, ну очень желательно вести некий лог, чтобы потом "не было мучительно больно" за безценно потраченные время, усилия и т.п.
← →
Leonid Troyanovsky © (2005-12-16 08:43) [3]
> Германн © (16.12.05 01:54) [2]
> > Тогда убиваем его принудительно и завершаем приложение.
> Или убиваем его и снова стартуем его.
Снова стартовать - лишнее.
Т.е., после TerminateThread и перед завершением приложения,
попытаться выяснить причины "зависания", или, на худой конец,
занести в лог относящиеся к проблеме данные для
последующего анализа.
Ну, а чтобы не было мучительно больно, лучше искать причины
нехорошего поведения в самом начале пути.
--
Regards, LVT.
← →
oleggar © (2005-12-16 10:28) [4]это я все понимаю .вопрос один - terminate thread убьет поток В ЛЮБОМ СЛУЧАЕ? даже если в нем открыт и занят файл или тяжелое зависание?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c