Event Loop
Die Event Loop entnimmt fortlaufend Ereignisse aus der Event-Warteschlange und verteilt sie an Callbacks und erreicht so nicht-blockierende E/A-Konkurrenz auf einem einzigen Thread.
Zweck
Das Nebenläufigkeitsmodell von JavaScript/Node.js verstehen und Blockierungen des Haupt-Threads vermeiden.
Mechanismus
Schleife: 1) ein Ereignis aus der Queue nehmen; 2) seinen Callback vollständig ausführen; 3) nach dem Leeren der Microtask-Queue das nächste Ereignis nehmen. Node.js nutzt libuv; Browser ergänzen Rendering-Phasen. Asynchrone E/A wird an das System delegiert, damit die Schleife nicht blockiert.
Anwendungsfälle
- Nebenläufigkeitsmodell
- Performance-Optimierung
- Asynchrone E/A