du musst es so machen wie bei allem anderen auch (unabhängig ob thrad oder nicht)
Delphi-Quellcode:
procedure TYourThread.Execute();
begin
while not(Terminated) do
begin
//Thread Start-Code
needrestart := False;
while not(needrestart) and not(Terminated) do
begin
//dein zeugs
end;
end;
end;
Delphi-Quellcode:
Thread.NeedRestart := True;
Thread.Resume;
Du musst also einfach nur dafür sorgen das er wieder ein dem Quelltext des Begins der Execute-Methode vorbei kommt.