Capacidad de un sistema para ejecutar múltiples tareas de forma simultánea.
Mejora el rendimiento en sistemas multi-núcleo. No es lo mismo que paralelismo: concurrencia es estructura, paralelismo es ejecución.
// Concurrencia en JavaScript (single-threaded pero asíncrono) async function procesarConcurrente() { // Estas promesas se ejecutan concurrentemente const [usuarios, productos, pedidos] = await Promise.all([ fetch('/api/usuarios').then(r => r.json()), fetch('/api/productos').then(r => r.json()), fetch('/api/pedidos').then(r => r.json()) ]); return { usuarios, productos, pedidos }; } // Promise.allSettled - continúa aunque alguna falle const resultados = await Promise.allSettled([ promesa1, promesa2, // Si falla, las otras continúan promesa3 ]); // Worker Threads en Node.js (verdadero paralelismo) import { Worker } from 'worker_threads'; const worker = new Worker('./heavy-task.js'); worker.on('message', result => console.log(result)); worker.postMessage({ data: 'procesar' });