Вниз
Скачать: CL | DM;

Как прибить поток и им же порожденные?   Найти похожие ветки 

 
Dinara ©   (2002-05-19 21:07) [0]

Нужно мгновенно. Простая посылка Terminate не подходит.


 
Digitman ©   (2002-05-20 08:30) [1]

простейшее решение - в методе потока Execute циклически проверяй состояние флаг Terminated, и в случае True прерывай цикл с последующим выходом из процедуры Execute.

более сложные (но более эффективные во многих случаях) решения могут использовать системные объекты синхронизации (mutex, semaphore и т.п.), а также станд.ф-ции посылки/приема сообщений (PostThreadmessage, PeekMessage, MsgWaitForMultipleObjects и т.д.)


 
Александр Спелицин   (2002-05-20 11:24) [2]

Поток должен сам себя завершить. И лишь в крайнем случае, когда все способы перепробованы, его можно уничтожить вызвав TerminateThread.
Обо всех подводных камнях TerminateThread - в MSDN.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
3-97110
Maloy
2002-05-02 01:30
2002.05.30
при выполнении сложных запросов через Query


1-97319
OlegBat
2002-05-18 10:05
2002.05.30
Где взять библиотеку RX для Delphi 6 ?


1-97317
Shrek
2002-05-19 18:51
2002.05.30
Реестр - Windowsa


1-97343
Коля
2002-05-20 04:02
2002.05.30
Как прервать цикл?


1-97328
relaxoid
2002-05-19 18:40
2002.05.30
Народ, как добывать кавычки к строке ( )?




   Наверх