Перейти к содержимому

Node.js Event Loop: Why Async Still Blocks Your Code

CrackInterviewAI

0:00 / 0:00

Node.js Event Loop: Why Async Still Blocks Your Code

18 просмотров · 8 дн. назад
CrackInterviewAI
998 подписчиков
18 просмотров · 8 дн. назад
Node.js event loop explained with original runnable JavaScript and actual tested output. CrackInterviewAI compares async CPU blocking, fulfilled-promise microtasks, cooperative yielding and worker threads. https://www.crackinterviewai.com CrackInterviewAI is a Windows interview assistant providing concise coding and system-design answer outlines. Check the outline and practise explaining the reasoning yourself. Explore the product and subscribe for original code explanations. Examples ran on Node v24.13.1 on Windows. Tests check arithmetic and callback ordering, not HTTP latency or throughput. Batch size is illustrative. The single-worker example omits production pool, timeout, cancellation and shutdown policies. Does async make CPU code parallel? No, synchronous work still uses the calling JavaScript thread. When should you yield? To share one thread through bounded batches. When should you use workers? For suitable CPU work that benefits from another execution thread, with measured costs and bounded queues. Primary references: https://nodejs.org/api/worker_threads... https://docs.libuv.org/en/v1.x/thread... https://www.crackinterviewai.com/ai-i... https://nodejs.org/en/learn/asynchron... https://nodejs.org/api/fs.html https://github.com/nodejs/learn/blob/... https://piscinajs.dev/getting-started... https://www.crackinterviewai.com/about https://developer.mozilla.org/en-US/d... https://developer.mozilla.org/en-US/d... https://nodejs.org/api/timers.html #NodeJS #JavaScript #CrackInterviewAI Chapters 00:00 Async is not parallel 00:53 The async trap 02:23 Yield between batches 03:24 Move the calculation 04:18 Production trade-offs Sources https://nodejs.org/api/worker_threads... https://docs.libuv.org/en/v1.x/thread... https://www.crackinterviewai.com/ai-i... https://nodejs.org/en/learn/asynchron... https://nodejs.org/api/fs.html https://github.com/nodejs/learn/blob/... https://piscinajs.dev/getting-started... https://www.crackinterviewai.com/about https://developer.mozilla.org/en-US/d... https://developer.mozilla.org/en-US/d... https://nodejs.org/api/timers.html Music and sound credits "Stoned Song" by Seth_Makes_Sounds (https://freesound.org/people/Seth_Mak..., CC0 "Homemade.wav" by Seth_Makes_Sounds (https://freesound.org/people/Seth_Mak..., CC0 "Dark Moody Beat" by Seth_Makes_Sounds (https://freesound.org/people/Seth_Mak..., CC0 "shredsaucem.wav" by Seth_Makes_Sounds (https://freesound.org/people/Seth_Mak..., CC0 "More Video Game Music I Guess" by Seth_Makes_Sounds (https://freesound.org/people/Seth_Mak..., CC0