Also ich weiss nicht, mit den Standardtemplates geht das doch 1-fix-drei
Semaphore verwenden (oder ein anderes Synchronisationsobjekt). Vielleicht geht auch ein Sleep (performancetechnisch).
Dann, 1x pro Sekunde prüfen, ob es an der Zeit ist, zu arbeiten. Wenn nicht, weiterschlafen.
Delphi-Quellcode:
Procedure TMyTimerThread.Execute;
Begin
While Not Terminated Do begin
Sleep(OneSecond);
If Now>TaskTimeToStart then begin
DoTheJob;
Terminate;
End
End
End;
So würde ich das umsetzen und mir weiter keine Gedanken machen.
Denn mit o.g. Code kann ich den TMyTaskThread auch abbrechen, was
imho bei einem langen Sleep nicht geht.