Wenn es wirklich darauf ankommt zeitgenau etwas auszuführen, dann ist Windows die flasche Platform. Windows ist kein real-time Betriebssystem. Windows basiert auf Nachrichten. Das heißt, nicht man selber bestimmt, ob ein Ereignis eintritt, sondern der Gegenüber und man reagiert dann auf das Ereignis. Wobei hier Ereignis nicht unbedingt im
OOP Sinne zu betrachten ist.
Das heißt, für deine Aufgabe hast du das falsche Betriebssyste. Warum muss denn unbedingt genau jede Sekunde etwas ausgeführt werden? Und was passiert, wenn das nicht der Fall ist? Eine saubere Lösung wäre von der Zeitabhängigkeit weg zu kommen und ereignisorientiert zu arbeiten.