Event Loop
事件循环不断从事件队列取事件分派给回调,实现单线程非阻塞 I/O 并发。
用途
理解 JavaScript/Node.js 并发模型,避免阻塞主线程。
机制
循环:1) 取一个事件从队列;2) 执行其回调至完成;3) 微任务队列清空后取下一个事件。Node.js 用 libuv,浏览器有渲染阶段。I/O 异步委托给系统不阻塞循环。
用例
- 并发模型
- 性能优化
- I/O 异步
事件循环不断从事件队列取事件分派给回调,实现单线程非阻塞 I/O 并发。
理解 JavaScript/Node.js 并发模型,避免阻塞主线程。
循环:1) 取一个事件从队列;2) 执行其回调至完成;3) 微任务队列清空后取下一个事件。Node.js 用 libuv,浏览器有渲染阶段。I/O 异步委托给系统不阻塞循环。