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

Вниз

Как уничтожить все програмой запушеные Thread ы?   Найти похожие ветки 

 
Studentas   (2005-03-16 13:46) [0]

Доброго всем дня
Мож кто знает Как при закрытии проги уничтожить все програмой запушеные Thread"ы?


 
P.N.P. ©   (2005-03-16 13:49) [1]

Сами уничтожатся. При уничтожении процесса (твоей проги).


 
Digitman ©   (2005-03-16 13:52) [2]


> при закрытии проги уничтожить все програмой запушеные Thread"ы


трэды процесса принадлежат этому процессу
нет процесса - нет и трэдов, т.е. процесс (так или иначе) завершился (уничтожен) - исчезли (уничтожены) и трэды, принадлежащие процессу


 
КаПиБаРа ©   (2005-03-16 13:52) [3]

Studentas   (16.03.05 13:46)
А их координаты у тебя имеются?


 
КаПиБаРа ©   (2005-03-16 13:59) [4]

Digitman ©   (16.03.05 13:52) [2]
Я точно не помню но вроде при завершении процесса треды прерываются так, что не выполняются команды после finally в методе Execute. Или я ошибаюсь?


 
Digitman ©   (2005-03-16 14:18) [5]


> Или я ошибаюсь?


не ошибаешься.


 
Digitman ©   (2005-03-16 14:21) [6]


> КаПиБаРа ©   (16.03.05 13:59) [4]


Мелкомягкая ОС знать ничего не знает ни о каких-то там
finally и иже с ней.

Мелкомягкая ОС просто УНИЧТОЖАЕТ трэд как ОС-объект.


 
КаПиБаРа ©   (2005-03-16 14:32) [7]

Если нужно "по хорошему" завершить поток. То в onCloseQuery главной формы делай Terminate и WaitFor для всех потоков.


 
Digitman ©   (2005-03-16 14:40) [8]


> делай Terminate и WaitFor для всех потоков.


угу... а потокам, созданным Studentas"ом, монопенисуально состояние флага FTerminated ...


 
Studentas   (2005-03-16 14:45) [9]

А как получить список фсех Thread"ов програмы

Дело в том что я использую компонент- тот создает кучу  Thread"ов а когда прогу вырубаю то процесс еше может несколько сек-мин жить

Вот я и хочу их всех


 
КаПиБаРа ©   (2005-03-16 14:47) [10]

Digitman ©   (16.03.05 14:40) [8]
Да. Я предложил вариант для частного случая, когда потоки реагируют на FTerminated и необходимо выполнить, какие то действия  при завершении метода Execute, например подтвердить транзакцию.

В общем случае ответ был дан в [1] и [2].


 
Digitman ©   (2005-03-16 14:47) [11]


> Studentas   (16.03.05 14:45) [9]
> А как получить список фсех Thread"ов програмы


нахрен он тебе сдался ?


>  когда прогу вырубаю то процесс еше может несколько сек-мин
> жить
>
> Вот я и хочу их всех


"вырубай" свою "прогу" извне - вызовом Terminateprocess() .. и будет тебе счастье ..


 
Digitman ©   (2005-03-16 14:49) [12]


> КаПиБаРа ©   (16.03.05 14:47) [10]


видишь ли, автор в принципе не понимает разницы между принудительным уничтожением трэда и его корректным завершением


 
DiamondShark ©   (2005-03-16 14:51) [13]


> Studentas   (16.03.05 14:45) [9]

Тогда смотри документацию к тому компоненту и ищи там описание корректного завершения.


 
КаПиБаРа ©   (2005-03-16 14:54) [14]

Digitman ©   (16.03.05 14:49) [12]
Я думал что понимает.


 
Digitman ©   (2005-03-16 14:57) [15]


> КаПиБаРа ©   (16.03.05 14:54) [14]
> Я думал


думают известно кто)


 
Studentas   (2005-03-16 15:10) [16]

А сразу про Terminateprocess() незя было?


 
КаПиБаРа ©   (2005-03-16 15:15) [17]

Digitman ©   (16.03.05 14:49) [12]
А halt не поможет?



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

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

Наверх




Память: 0.5 MB
Время: 0.033 c
14-1110016285
Гаврила
2005-03-05 12:51
2005.03.27
Перлы из резюме :-)


14-1109190443
DevPortal
2005-02-23 23:27
2005.03.27
Портал Разработчика (DevPortal)


1-1110910067
heady
2005-03-15 21:07
2005.03.27
Строка и маска


1-1110974246
Vetal
2005-03-16 14:57
2005.03.27
Посоветуйте плиз Grid (не DB)


3-1109176563
Torri
2005-02-23 19:36
2005.03.27
Перенос содержимого из StringGrid в DBGrid