Ce sont des façons de plus en plus agréables d'exprimer un travail non bloquant sur un seul thread, toutes pilotées en dessous par un event loop qui exécute un à un les callbacks prêts. Ils gèrent quand le code reprend, pas plusieurs threads.
L'event loop
Une boucle mono-thread maintient une file de callbacks prêts. Quand une opération asynchrone (timer, I/O) s'achève, son callback est mis en file ; la boucle prend le suivant et l'exécute jusqu'au bout, puis recommence. Rien ne préempte un callback en cours d'exécution, si bien qu'un long travail CPU bloque tout.
