Worker Threads in Node.js
From the Node.js Core Modules cheat sheet ยท Utilities & Advanced ยท verified Jul 2026
Worker Threads
Run JavaScript in parallel threads for CPU-intensive tasks
javascript
const { Worker, isMainThread, parentPort, workerData } = require('worker_threads')
if (isMainThread) {
// Main thread code
const worker = new Worker(__filename, {
workerData: { iterations: 1000000 }
})
worker.on('message', (result) => {
console.log('Result:', result)
})
worker.on('error', (err) => {
console.error('Worker error:', err)
})
worker.postMessage({ cmd: 'START' })
} else {
// Worker thread code
parentPort.on('message', (msg) => {
if (msg.cmd === 'START') {
// CPU-intensive task
let result = 0
for (let i = 0; i < workerData.iterations; i++) {
result += Math.sqrt(i)
}
parentPort.postMessage(result)
}
})
}๐ด Advanced - For CPU-intensive parallel processing
๐ก Workers run in separate V8 isolates
โ ๏ธ No shared memory (use SharedArrayBuffer carefully)
โก Better than child_process for JavaScript code
๐ Not for I/O operations (use async/await instead)
๐ Related: cluster for network server scaling
parallelperformance