Junior — Middle
¿Has utilizado la multitarea o capacidades paralelas en Node.js para mejorar el rendimiento?
sobes.tech AI
Respuesta de la IA
En Node.js, la multitarea se implementa mediante el módulo worker_threads, que permite ejecutar código JavaScript en hilos separados, lo cual es útil para tareas intensivas en CPU. También se pueden usar clústeres (cluster) para ejecutar varios procesos de Node.js, aprovechando eficientemente los procesadores multinúcleo.
Ejemplo de uso de worker_threads:
const { Worker } = require('worker_threads');
function runService(workerData) {
return new Promise((resolve, reject) => {
const worker = new Worker('./worker.js', { workerData });
worker.on('message', resolve);
worker.on('error', reject);
worker.on('exit', (code) => {
if (code !== 0)
reject(new Error(`El trabajador se detuvo con el código de salida ${code}`));
});
});
}
runService({ some: 'data' }).then(result => {
console.log('Resultado del trabajador:', result);
}).catch(err => {
console.error(err);
});
De esta manera, para mejorar el rendimiento en tareas que requieren cálculos paralelos, se puede usar worker_threads o cluster. Para tareas de I/O, generalmente basta con la asincronía incorporada en Node.js.