Ich mache es immer so:
Delphi-Quellcode:
while not Terminated do
begin
if bThreadSollSchlafen then
Sleep(1000);
if bThreadBeenden then
begin
// Beende den Thread
end else
begin
// Führe Code aus, der ausgeführt werden muss.
end;
end;
Soweit ich weis, sind Resume und Suspended doch veraltet.