RE: Metronom und Uhr
Zum Unterschied von Wait oder Metronom, Beispiel 20ms:
Das Wait wartet 20 ms. Der Metronom wartet auf den nächsten 20ms-Tick gemäß absoluter Uhrzeit.
Wenn sich die Funktionen in einer ansonsten leeren Schleife befinden, ist der Unterschied:
Wait: jeder Schleifendurchlauf dauert 20ms
Metronom: Der erste Schleifendurchlauf dauert 0..20 ms, die folgenden 20ms.
Beim Metronom hat man die Möglichkeit, parallele Schleifen miteinander zu synchronisieren, da die 20ms Ticks alle gleichzeitig kommen.
Wenn in einer Schleife mehr ist als nur das Wait oder der Metronom, dann wird beides parallel abgearbeitet. Ein Schleifendurchlauf ist grundsätzlich erst dann beendet, wenn alles abgearbeitet ist. Niemals kann ein abgelaufenes Wait einen Schleifendurchlaif beenden, solange noch etwas anderes abzuarbeiten ist. Es ist also einfach so: Was von den beiden länger dauert, bestimmt die Schleifen-Durchlaufzeit. Außerdem: pro Schleifendurchlauf wird der Metronom nur einmal aufgerufen, es gibt da kein Warten auf einen zweiten Tick, selbst wenn der andere Code mehr als einen Tick dauert.
(Das Problem, dass nach einem verpassten Tick auf einen zweiten gewartet wird, gibt es allerdings. Aber nicht im Kontext der von dir aufgeführten Szenarien)
|