🧵
Asynchronous Programming

Worker Threads

True Parallelism
💡 Worker threads, "SEPARATE, HELPERS" jaise, HAIN, JO, APNA, KHUD, ka, ALAG, MEMORY, SPACE, aur, EVENT, LOOP, LEKE, PARALLEL, mein, KAAM, karte, HAIN — MAIN, THREAD, ko, BLOCK, kiye, BINA, CPU-INTENSIVE, TASKS, HANDLE, karne, ke, liye.

worker_threads, MODULE, TRUE, PARALLELISM, deta hai — REGULAR, ASYNC, Node.js CODE, SINGLE, THREAD, PAR, HI, RUN, hota hai (I/O, NON-BLOCKING, hai, LEKIN, CPU-BOUND, CODE, NAHI). CPU-HEAVY, TASKS, (jaise, IMAGE, PROCESSING) ke, liye, worker, threads, ZAROORI, HAIN.

HAR, WORKER, thread, apna, ALAG, V8, INSTANCE, aur, MEMORY, HEAP, LETA, hai — MAIN, thread, se, COMMUNICATE, karne, ke, liye, postMessage()/on("message") USE, hota, hai (SharedArrayBuffer, se, MEMORY, SHARE, bhi, ki, ja, sakti hai).

// main.js:
const { Worker } = require("worker_threads");
const worker = new Worker("./heavy-task.js");
worker.on("message", (result) => console.log("Result:", result));
worker.postMessage({ number: 42 });

// heavy-task.js:
const { parentPort } = require("worker_threads");
parentPort.on("message", ({ number }) => {
  // CPU-intensive computation:
  let result = 0;
  for (let i = 0; i < number * 1e9; i++) result += i;
  parentPort.postMessage(result);
});
🧵
Worker threads, "SEPARATE, HELPERS" jaise, HAIN, JO, APNA, KHUD, ka, ALAG, MEMORY, SPACE, aur, EVENT, LOOP, LEKE, PARALLEL, mein, KAAM, karte, HAIN — MAIN, THREAD, ko, BLOCK, kiye, BINA, CPU-INTENSIVE, TASKS, HANDLE, karne, ke, liye.
1 / 2
⚡ झट से Recap
  • worker_threads = true parallelism, CPU-bound, tasks, ke, liye
  • Har worker, apna, ALAG, V8, instance, aur, memory, heap, leta hai
  • postMessage()/on("message"), se, main, thread, ke, saath, communicate, karta hai
इस page में (2 subtopics)

SharedArrayBuffer, MAIN, thread, aur, worker, threads, ke, BEECH, MEMORY, DIRECTLY, SHARE, karne, deta hai (postMessage() ki, TARAH, DATA, COPY, kiye, BINA) — LARGE, DATASETS, ke, liye, MUCH, MORE, EFFICIENT, hai.

const sharedBuffer = new SharedArrayBuffer(4);
const sharedArray = new Int32Array(sharedBuffer);
// worker.postMessage({ sharedArray }) — reference, share, hoti, hai, copy, nahi

Production, applications, mein, HAR, TASK, ke, liye, NAYA, worker, banaна, INEFFICIENT, hai (worker, CREATE, karna, EXPENSIVE, hai) — piscina, JAISI, LIBRARIES, EK, "POOL" OF, REUSABLE, WORKERS, MAINTAIN, karti, HAIN, jaise, DATABASE, CONNECTION, POOLING.

💡Tip: piscina, ya, workerpool, JAISI, LIBRARIES, USE, karके, WORKER, THREADS, MANUALLY, MANAGE, karne, se, BACHA, ja, sakta hai — POOLING, LOGIC, ALREADY, IMPLEMENTED, hoti, hai.