Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизКак уничтожить все програмой запушеные 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.043 c