Web Workers
JavaScript 🟡 MidDefinition
API permettant d'executer du JS dans un thread separe du thread principal. Communiquent via postMessage/onmessage. N'ont pas acces au DOM.
Analogie
Un assistant dans un bureau separe : tu lui envoies du travail par pneumatique (postMessage), il te renvoie le resultat.
Exemple de code
// main.js
const worker = new Worker('worker.js');
worker.postMessage({ data: bigArray });
worker.onmessage = (e) => console.log(e.data);
// worker.js
onmessage = (e) => {
const result = heavyCompute(e.data);
postMessage(result);
};
Cas d'usage
Calculs lourds (crypto, parsing), traitement d'images, operations qui bloqueraient le thread UI.
Anti-pattern
Creer un worker pour chaque petite operation : le cout de creation et de communication depasse le gain.