Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Kak pravilino UBIVATI TThread'i ? [D6, D7, WinXP]


AndersoNRules ©   (2004-04-14 19:11:00) 

Privet! Vopros v tom kak pravilino zavershati Thread'i! voznik on potomu shto oni u menya vsegda tormozyat, naprimer:
esti Thread s imenem  Tp , priority=tpNormal ;
ya evo zavershayu:
Tp.Terminate;  Tp.Free;
a on u menya tormozit ocheni.
kstati, vot shto on delaet, esli ato shto-to menyaet:
procedure TProgressThread.Execute;
begin
 while not Terminated do
    smth;
end;
Budu ocheni blagodaren !


AndersoNRules   (2004-04-14 19:44:00) [1]

Izvenyayusi, vseo rabotaet otlichno !
vsem spasibo !


AndersoNRules   (2004-04-14 19:42:00) [2]

pridumal takuyu veshi:
peremennaya  B:boolean=false;
Noviy Kod:
procedure TProgressThread.Execute;
begin
while (not Terminated) and (not B) do
   smth;
end;


kogda nujno zavershati Thread prisvaivayu B:=true;
kazalosi bi vseo doljno biti ok, no vseo ravno tormozit,
zakrivaezza cherez 5~6 secunde posle B:=true;


AndersoNRules   (2004-04-14 19:34:00) [3]

vseo ravno tormozit


miek   (2004-04-14 19:15:00) [4]

Нефиг все процессорное время-то захватывать.

while not Terminated do
 begin
   smth;
   sleep( 0);
 end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо