Featured image of post Worker Threads en Node.js: Paralelismo realFeatured image of post Worker Threads en Node.js: Paralelismo real

Worker Threads en Node.js: Paralelismo real

Implement parallel processing in Node.js with Worker Threads. Covers thread communication, shared memory, thread pools, and real-world use cases.

Worker Threads permite ejecutar JavaScript en múltiples hilos, descargando tareas CPU-intensive del event loop principal.

Cuándo usar workers

Cálculos matemáticos pesados, procesamiento de imágenes, parsing de archivos grandes, compresión, cifrado. No para operaciones I/O (ya son asíncronas).

API básica

const { Worker } = require('worker_threads');
const worker = new Worker('./worker.js', { workerData: data });
worker.on('message', result => {});

Comunicación

postMessage: copia estructurada (serializable). SharedArrayBuffer: memoria compartida. parentPort.postMessage desde el worker. Atomics para sincronización.

Pool de workers

Crear workers por tarea tiene overhead. Usa workerpool o piscina para pooling. Mantén un número fijo de workers (CPU cores - 1).