Zitat:
Der Thread "schläft" im WaitFor(TimeOut) für TimeOut ms. Ich sage mal in dieser Zeit wird "NULL" CPU-Zeit verbraucht.
Aufgeweckt wird der Thread entweder wenn TimeOut aufgetreten ist oder wenn mit SetEvent der Event gesetzt wird (extern oder ggf. im Destructor)
Also bei einem FThreadTimer.Free rufst Du im destructor Setevent auf, damit die Execute procedure aus dem Waitfor raus kommt und gut ist es.
Das hat geholfen!
Das bedeutet zwangsweise, dass ein langes Warten bei einem Sleep umgangen wird wenn der Thread beendet wird.