Joerg Peschke: Timeout/Interval und Nebenläufigkeit

Hallo zusammen,
Ich hätte da mal eine grundsätzliche Frage zu "window.setTimeout" und "window.setInterval". Und zwar:
Nehmen wir an, ich lasse peridoisch mit einem Interval oder einem Timeout zwei funktionen laufen, also

window.setInterval("func1", 100);
window.setInterval("func2", 100);

Nehmen wir an, "func1" läuft nach 100 ms an, und während sie noch läuft, wird auch das Interval für func2 fällig.

Was passiert? Bei klassichem Event-Handling (z.B. Signal-Handling unter Unix) werden ja defaultmäßig Signale verzögert, so lange, bis die Abarbeitung eines Signals beendet ist. In diesem Fall würde also func2 so lang warten, bis func1 fertig ist. Macht das JavaScript genauso? Oder wird einfach jäh die erste Funktion abgebrochen und ggf. neu aufgesetzt, wenn die zweite durchgelaufen ist?

Oder ist es gar Browserabhängig :-( ?

  1. Hi,

    window.setInterval("func1", 100);
    window.setInterval("func2", 100);

    Nehmen wir an, "func1" läuft nach 100 ms an, und während sie noch läuft, wird auch das Interval für func2 fällig.

    Was passiert?

    da über timeout oder interval gesteuerte Funktionen zur festgesetzten Zeit ablaufen und den Programmablauf nicht verzögern, wird Deine func2 zusätzlich ausgeführt.

    freundliche Grüße
    Ingo