Node.js Architecture
Node.js, libuv (C LIBRARY) USE, karta hai — ISME, EVENT LOOP, aur, THREAD POOL, DONO, HOTE, HAIN. MAIN, JavaScript CODE, SINGLE, THREAD PAR, RUN, hota hai, LEKIN, HEAVY, I/O, OPERATIONS, (jaise, FILE READ, DATABASE QUERY) BACKGROUND, THREAD, POOL, mein, OFFLOAD, kiye, jaate, hain.
JAB, EK, ASYNC, OPERATION, COMPLETE, hoti, hai, USKA, CALLBACK, EVENT LOOP, ke, QUEUE, mein, ADD, ho, jaata, hai — MAIN, THREAD, ISE, PICK, karके, EXECUTE, karta hai, JAB, WOH, FREE, hota hai.
// Blocking (avoid karo) vs Non-blocking:
const fs = require("fs");
// Non-blocking — main thread, BLOCK, nahi, hota:
fs.readFile("data.txt", "utf8", (err, data) => {
console.log("File read complete:", data);
});
console.log("Ye line, file read complete hone se, PEHLE, print hoti hai");- libuv = C library, event loop aur thread pool, DONO, PROVIDE karti hai
- Main JS code, SINGLE thread par, RUN hota hai
- Heavy I/O, background thread pool, mein, OFFLOAD hota hai
libuv, EK, CROSS-PLATFORM, C, LIBRARY, hai — YE, OPERATING, SYSTEM, ki, DIFFERENCES, ABSTRACT, karta hai (Windows, mein, I/O, Completion, Ports, Linux, mein, epoll) — Node.js, HAR, OS, PAR, CONSISTENT, tareeke, se, KAAM, karta hai, ISI, ki, WAJAH, se.
// libuv, internally, YE, HANDLE, karta hai:
// - Event loop
// - Thread pool (default 4 threads)
// - Async, file system, DNS, operations
// - Networking (TCP, UDP)libuv, ka, DEFAULT, THREAD, POOL, SIZE, 4, hai — UV_THREADPOOL_SIZE, ENVIRONMENT, VARIABLE, se, ISE, INCREASE, kiya, ja, sakta hai (MAX 128), AGAR, APPLICATION, BAHUT, saare, FILE, I/O, YA, CRYPTO, OPERATIONS, karti, hai.