Damit ist die Frage nach dem "Threadsafe" aber nicht wirklich beantwortet, denn soweit ich weiß werden Timer doch zumindest "abwechselnd" und nicht nacheinander ausgeführt oder?
Kurz: Was ist wenn ich 2 Timer habe, die zeitgleich 2 Codeabschnitte starten (oder sozusagen "auf 2 Buttons gleichzeigt drücke"), welche z.B. beide ein array von 2000 Elementen überschreiben? Kann es dann sein, dass 1000 Elemente die Werte von Timer1 enthalten und 1000 die Werte von Timer2, oder werden Timer intern nacheinander ausgeführt?
EDIT: Ok, Timer scheinen doch intern nacheinander abgearbeitet zu werden.
Habe schnell einen kleinen "Versuch" mit 2 sehr rechenintensiven Timern gestartet, die beide durch einen Button aktiviert werden - seltsamerweise wurde bei:
Timer1.Enabled := true;
Timer2.Enabled := true;
Timer2 zuerst abgearbeitet und danach Timer1, wobei Timer1 doch eigentlich ein paar Taktzyklen früher gestartet wurde