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

По потокам (Thread)   Найти похожие ветки 

 
Programist   (2003-03-04 16:06) [0]

Создаю поток:


M: TMyThread;
...
begin
M:=TMyThread.Create(False);
M.FreeOnTerminate:=True; //чтобы он завершился как Execute завериштся...
end;


1. Но вот как ему потом M.Free сделать???
2. И как его можно заврешить раньше, если цикла внутри нет, который бы проверил M.Treminated?


 
Strumpf ©   (2003-03-04 16:27) [1]

>Но вот как ему потом M.Free сделать???

Он сам убьется после завершения Execute.


 
MBo ©   (2003-03-04 16:34) [2]

вот только в конструктор нужно передать True, а после установки FreeOnTerminate сделать Resume


 
Programist   (2003-03-05 09:55) [3]

toStrumpf - точно убъётся???

toMBo - понял.


А как в поток передать изначально параметры?!


 
REA ©   (2003-03-05 10:03) [4]

До запуска (наверно) можно обычные переменные класса установить.

>2. И как его можно заврешить раньше, если цикла внутри нет, который бы проверил M.Treminated?

А вот это уже не так просто - стандартный Free насколько я помню выставляет Terminated и ждет завершения потока. Можно попробовать Suspend+Free, но тоже осторожно.
Дальше мои домыслы и безосновательные утверждения:
Там появляется какая-то разница между просто выходом и выходом при выходе из приложения или DLL. В разных версиях Delphi механизм выхода из потока разный.


 
NailS ©   (2003-03-05 12:16) [5]


> И как его можно заврешить раньше, если цикла внутри нет,
> который бы проверил M.Treminated?


А что там есть?

> Можно попробовать Suspend+Free, но тоже осторожно.

Не поможет. В деструкторе будет ожидаться завершение потока (D6).

BOOL TerminateThread(
HANDLE hThread, // handle to thread
DWORD dwExitCode // exit code
);




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

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



Память: 0.46 MB
Время: 0.016 c
14-54297
AZ
2003-02-28 07:10
2003.03.17
MSN Messenger


6-54151
GobliNGuT
2003-01-24 11:03
2003.03.17
Работа с 2-мя прокси...


6-54131
Victor_
2003-01-27 20:27
2003.03.17
Проблема копирования в TStream


14-54232
Kranch
2003-02-27 23:41
2003.03.17
Hosting


14-54313
zzet
2003-03-01 17:14
2003.03.17
Boot - вирус?




   Наверх