Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
ВнизПринудительное завершение работы потоков Найти похожие ветки
← →
BVV (2005-02-27 11:04) [0]Не получается приостановить а потом продолжить работу потоков, а также завершить работу потоков раньше чем онит свое отработают.
код потоков
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;
← →
atruhin © (2005-02-27 11:08) [1]А в чем конкретно проблема?
Приостановить Suspend, возобновить Resume,
для завершения в цикле сортировки проверяй Terminated
← →
BVV (2005-02-27 16:06) [2]Вот так чтоли -TerminateThread("а здесь что", 0);
И так тоже не катит -potok1.Saspend;, potok1.Resume;
← →
BVV (2005-03-01 10:39) [3]Что такой ламерский вопрос? Или ни кто не встречался с данной проблемой
← →
begin...end © (2005-03-01 10:41) [4]> BVV (27.02.05 16:06) [2]
> И так тоже не катит -potok1.Saspend;, potok1.Resume;
Почему Suspend и Resume не катит? Катит.
← →
Юрий Зотов © (2005-03-01 10:48) [5]> BVV (27.02.05 11:04)
> Не получается приостановить а потом продолжить работу
> потоков, а также завершить работу потоков раньше чем онит
> свое отработают.
Вы же создаете их с CreateSuspended=False - ну, они тут же и запускаются. Код в Execute не показан, но, видимо, он выполняется очень быстро и поток сразу же завершается. Понятно, что после его завершения вызывать Suspend/Resume уже бессмысленно.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c