InterviewHubPRO
Section Overview
Q30

Question 30 of 60

Part 3: Streams, Buffers & Core Modules (21 - 35)

50%
Node.js & Libuv•Part 3: Streams, Buffers & Core Modules (21 - 35)

Worker Threads vs Child Processes vs Clustering.

In Simple Words:

  • Clustering: Multiple independent OS processes running identical server code; no shared memory.
  • Child Processes (child_process): Spawns external shell commands or programs; heavy OS overhead.
  • Worker Threads (worker_threads): Multiple threads within the same OS process, sharing the same memory heap and using SharedArrayBuffer for zero-copy data transfer.
javascript
const { Worker, isMainThread, parentPort } = require('worker_threads');

if (isMainThread) {
  const worker = new Worker(__filename);
  worker.on('message', (msg) => console.log('From worker:', msg));
  worker.postMessage('start');
} else {
  parentPort.on('message', () => parentPort.postMessage('Done CPU task'));
}