I/O blocking iwaqqaf il-calling thread sakemm l-operazzjoni tispiċċa; I/O non-blocking jirritorna minnufih u jħalli t-thread jagħmel xogħol ieħor waqt li l-operazzjoni titlesta. Sync vs async jiddeskrivi l-istess idea fil-livell tal-API.
I/O blocking iwaqqaf il-calling thread sakemm l-operazzjoni tispiċċa; I/O non-blocking jirritorna minnufih u jħalli t-thread jagħmel xogħol ieħor waqt li l-operazzjoni titlesta. Sync vs async jiddeskrivi l-istess idea fil-livell tal-API.
read() sakemm tasal id-data. Sempliċi, imma t-thread ikun idle il-ħin kollu — biex isservi N clients bil-mod għandek bżonn N threads.Blocking: ──[ wait for disk ]── (thread stuck, does nothing)
Non-blocking: ──▶ returns now; event loop notified when ready
// Blocking: nothing else runs until the file is read
const data = fs.readFileSync('big.txt');
// Non-blocking: thread keeps going; callback fires later
fs.readFile('big.txt', (err, data) => { /* handle later */ });
// or async/await on top of non-blocking primitives
const data2 = await fs.promises.readFile('big.txt');
Din hija l-qofol tas-servers skalabbli. Node.js u nginx jimmaniġġjaw għadd enormi ta' connections fuq ftit threads propju għax l-I/O huwa non-blocking — l-istennija ma torbotx thread. Uża sejħiet blocking għas-sempliċità fl-iscripts; uża non-blocking għal servizzi tan-network b'concurrency għolja, u qatt timblokka l-event loop b'xogħol tqil tas-CPU.
Librerija ta' mistoqsijiet ta' intervisti tal-IT b'tweġibiet dettaljati — minn Junior sa Senior.
Iddona