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

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

Принудительное завершение работы потоков [D7, Win95/98]


BVV ©   (2005-02-27 11:04:00) 

Не получается приостановить а потом продолжить работу потоков, а также завершить работу потоков раньше чем онит свое отработают.
код потоков
Potoki = class(TThread)
 ...
 public
   constructor Create(sinp, sout: string);
 end;

 Potok1= class(Potoki)
 protected
   procedure Sort(var s:string); override;
 end;

   ...

   Potok10= class(Potoki)
 protected
   procedure Sort(var s:string); override;
 end;

implementation

uses Unit1;

{ Potoki }

constructor Potoki.Create(sinp, sout: string);
begin
...
FreeOnTerminate := True; //если поток свое отбарабанил
inherited Create(False);
end;

А вот так я их запускаю

procedure TForm1.Button1Click(Sender: TObject);
begin
with Potok1.Create(Edit12.Text, P) do
...
with Potok10.Create(Edit12.Text, 'p') do
end;


Юрий Зотов   (2005-03-01 10:48:00) [1]

> BVV   (27.02.05 11:04)  

> Не получается приостановить а потом продолжить работу
> потоков, а также завершить работу потоков раньше чем онит
> свое отработают.

Вы же создаете их с CreateSuspended=False - ну, они тут же и запускаются. Код в Execute не показан, но, видимо, он выполняется очень быстро и поток сразу же завершается. Понятно, что после его завершения вызывать Suspend/Resume уже бессмысленно.


begin...end   (2005-03-01 10:41:00) [2]

> BVV   (27.02.05 16:06) [2]
> И так тоже не катит -potok1.Saspend;, potok1.Resume;

Почему Suspend и Resume не катит? Катит.


BVV   (2005-03-01 10:39:00) [3]

Что такой ламерский вопрос? Или ни кто не встречался с данной проблемой


BVV   (2005-02-27 16:06:00) [4]

Вот так чтоли -TerminateThread("а здесь что", 0);
И так тоже не катит -potok1.Saspend;, potok1.Resume;


atruhin   (2005-02-27 11:08:00) [5]

А в чем конкретно проблема?
Приостановить Suspend, возобновить Resume,
для завершения в цикле сортировки проверяй Terminated


Наверх

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