Module 2 — Multithreading et Worker Threads
Maîtrisez la délégation de charges lourdes hors de l'Event Loop : exploitez l'isolation mémoire des processus et la communication multithreadée via Worker Threads Node.js. Comparez le clonage structuré au transfert binaire ultra-rapide, utilisez SharedArrayBuffer avec Atomics et bâtissez un Worker Pool résilient.
Processus, threads et fonctionnement du thread principal
Comprendre l’isolation mémoire des processus, les threads partagés, le thread principal Node.js et les causes du blocage serveur.
Web Workers et Worker Threads
Distinguer les threads navigateur (Web Workers) et serveur (Worker Threads), communiquer avec postMessage et parentPort.
Communication entre threads — messages et données
Structured Clone Algorithm, clonage vs transfert de propriété d’ArrayBuffer et gestion des événements d’erreur et de fin.
Transfert de données et SharedArrayBuffer
Mémoire partagée avec SharedArrayBuffer, manipulation par TypedArray et synchronisation atomique avec Atomics.add/wait/notify.
Traitements CPU intensifs et optimisation des performances
Différencier CPU-bound et I/O-bound, mesurer avec monitorEventLoopDelay, concevoir un Worker Pool réutilisable et découper les charges lourdes d’IA.