Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

Создание и завершение потока   Найти похожие ветки 

 
S@shka ©   (2004-10-30 23:45) [0]

Народ, вот помогите мне наконец въехать в следующий вопрос.
Есть оконное приложение, на Form.Create стоит создание потока
путем вызова BeginThread (...);
Далее насколько я понимаю, допустим поток завершил свою работу
мы уведомели главное окно, например, PostMessage (Form1.Handle...).
В обработчике вызываем CloseHandle (ThreadHandle); И все ок.
А что делать если подразумевается, что поток должен работать все время (вместе с приложением)и его завершение будет только при завершении работы всего приложения. Нужно ли на FormClose ставить ожидание выполнения потока? (например, с помощью мютекса). Достаточно ли просто проинформировать поток о том что он будет закрыт выставлением определенного флага?
Цитирую (Справочник по Дельфи Рей Лишнер) "Когда форма закрывается она прерывает поток. Возможно, что сообщение о завершении потока (если в потоке при выходе, после анализа флага завершения выставленного по FormClose делается PostMessage форме) придет после разрушения формы, но это не будет большой проблемой т.к. Windows уничтожит поток при завершении программы". А если у меня в функции потока созадются какие -то объекты будут ли они при этом корректно разрушены??? не понятно? или если код такого плана...
function ThreadFunc ();
var
T : TMyObject;
begin
T := TMyObject.Create;
while (TRUE) do
begin
 ....
 sleep (20000);
end;
T.Free;
PostMessage (Form1.Handle,WM_FINISHED,0,0);
end;
гарантировано ли разрушение T??? и не прифедет ли такой код к возможному подвисанию приложения при закрытии на время до 20 сек???
Спасибо!!


 
MaxDDinc   (2004-10-31 00:12) [1]

Любые объекты программы, в том числе и нити (процессы), будут разрушены при закрытии основного окна. Задержка в нити не приведет к зависанию программы, так как это отдельный от главного поток, которому выделяется свой квант времени для решения собственных задач



Страницы: 1 вся ветка

Текущий архив: 2004.12.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
14-1101158590
OneFragLeft
2004-11-23 00:23
2004.12.12
Просветите об СМС шлюзах.


14-1101322505
Style
2004-11-24 21:55
2004.12.12
Пользователи БиЛайна, зацените идею.


9-1091606822
Ландграф Павел
2004-08-04 12:07
2004.12.12
поиск пути не по клеткам...


1-1101579193
Sur
2004-11-27 21:13
2004.12.12
RT_MENU


1-1101713473
KOSH
2004-11-29 10:31
2004.12.12
Цвет в stringride