![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Не знаю как правильно завершить созданные потоки.
Вот код в котором при нажатии кнопки Button1 создается три потока. Основной поток Код:
uses th;
procedure TFormMain.Button1Click(Sender: TObject);
var
th: array[0..2] of ThMy;
I: Integer;
begin
for I := 0 to 2 do begin
th[i]:= ThMy.Create(true);
th[i].FreeOnTerminate:= false;
th[i].Priority:= tpNormal;
th[i].Start;
end;
end;А вот собственно сам поток TThread Код:
type
ThMy = class(TThread)
private
Msg: string;
procedure ShowMsg;
protected
procedure Execute; override;
end;
implementation
uses Unit1;
procedure ThMy.Execute;
var
i: Integer;
begin
while not Terminated do begin
Inc(i);
Sleep(10);
end;
end;
После запуска потока цикл while ожидает Terminated но вот как его послать и при том, что потока 3. Вот собственно хочу завершить не все потоки сразу, а выборочно какой-либо из них. Буду бдагодарен за любую помощь. |