Unidad más pequeña de procesamiento que puede manejarse de manera independiente dentro de un proceso.
Los hilos permiten la ejecución de múltiples tareas concurrentes en un programa.
// JavaScript es single-threaded pero... // El Event Loop permite concurrencia // 1. Worker Threads en Node.js (multi-threading real) import { Worker, isMainThread, parentPort } from 'worker_threads'; if (isMainThread) { // Hilo principal const worker = new Worker('./worker.js'); worker.on('message', (result) => { console.log('Resultado del worker:', result); }); worker.postMessage({ data: [1, 2, 3] }); } else { // Hilo worker parentPort.on('message', (msg) => { const resultado = procesarDatos(msg.data); parentPort.postMessage(resultado); }); } // 2. Web Workers en el navegador const worker = new Worker('worker.js'); worker.postMessage({ tipo: 'calcular', datos: bigData }); worker.onmessage = (e) => console.log(e.data); // 3. Cluster en Node.js (múltiples procesos) import cluster from 'cluster'; import os from 'os'; if (cluster.isPrimary) { for (let i = 0; i < os.cpus().length; i++) { cluster.fork(); // Crear worker por cada CPU } } else { // Código del servidor app.listen(3000); }