Tutorials Courses Interview Prep (100 Q&A) AI Tools (50) Developer Tools (50) Tracks Pricing Plans Blog & Articles Contact Us
High-Concurrency Systems & Microservices 22 mins read Free Lesson

Multithreading with Worker Threads & Node.js Cluster Module

Offload CPU-bound computations (image processing, crypto) to worker threads without freezing the I/O event loop.

Worker Threads for Heavy Computation

const { Worker, isMainThread, parentPort, workerData } = require('worker_threads');

if (isMainThread) {
    module.exports = function runHeavyTask(data) {
        return new Promise((resolve, reject) => {
            const worker = new Worker(__filename, { workerData: data });
            worker.on('message', resolve);
            worker.on('error', reject);
        });
    };
} else {
    // CPU-intensive calculation on separate OS thread
    let result = 0;
    for (let i = 0; i < workerData.limit; i++) result += Math.sqrt(i);
    parentPort.postMessage(result);
}