Worker Threads
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 = 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
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, nahiProduction, 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.