Blocking ఆపరేషన్లు synchronous గా అమలవుతాయి మరియు అవి పూర్తయ్యే వరకు ఒకే JavaScript thread ను పట్టుకుని ఉంచుతాయి — ఈ మధ్యలో మరేదీ అమలు కాదు. Non-blocking ఆపరేషన్లు పనిని ప్రారంభించి, వెంటనే తిరిగి వస్తాయి, మరియు ఫలితాన్ని తర్వాత ఒక callback, Promise, లేదా event ద్వారా అందిస్తాయి, కాబట్టి thread ఇతర పనులు చేయడానికి ఖాళీగా ఉంటుంది.
Node single-threaded అయినా non-blocking ఎందుకు
మీ JavaScript చే నడిపించబడే thread పై అమలవుతుంది. I/O (files, network, DNS) కు అప్పగించబడుతుంది, ఇది లోపల OS యొక్క async సౌకర్యాలను మరియు ఒక చిన్న ను ఉపయోగిస్తుంది. ఆ పని thread కు వెలుపల జరుగుతున్నప్పుడు, event loop ఇతర callbacks ను ప్రాసెస్ చేస్తూనే ఉంటుంది. I/O పూర్తయినప్పుడు, దాని callback వరుసలో చేర్చబడి అమలవుతుంది.
