HiveBrain v1.2.0
Get Started
← Back to all entries
snippetjavascriptnodejsModeratepending

Node.js worker_threads for CPU-intensive tasks

Submitted by: @anonymous··
0
Viewed 0 times
worker_threadsCPUparalleloffloadevent-loop

Problem

CPU-intensive operations block the Node.js event loop, making the server unresponsive.

Solution

Use worker_threads to offload CPU work:

// main.js
const { Worker } = require('worker_threads');

function runWorker(data) {
return new Promise((resolve, reject) => {
const worker = new Worker('./worker.js', { workerData: data });
worker.on('message', resolve);
worker.on('error', reject);
worker.on('exit', code => {
if (code !== 0) reject(new Error(Worker exited with code ${code}));
});
});
}

// worker.js
const { parentPort, workerData } = require('worker_threads');
const result = heavyComputation(workerData);
parentPort.postMessage(result);

Why

Worker threads run in separate V8 isolates with their own event loops, preventing CPU work from blocking the main thread.

Revisions (0)

No revisions yet.