Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.015 c
8-54123
Alex
2002-12-04 12:39
2003.03.17
Графика в Stringgrid


14-54174
MsGuns
2003-02-28 18:36
2003.03.17
Мусорное ведро


8-54116
MPiskunov
2002-12-02 13:24
2003.03.17
Проблема при записи звука TMediaPlayer-ом под win98...


6-54143
DMV
2003-01-29 00:56
2003.03.17
Звуковое общение по сети


14-54223
sancho
2003-02-27 16:16
2003.03.17
Как узнать t процессора?