全文字数: 263
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/7a6c334dc2a272a2d53cb4b0ba79f90c.gif)
1分钟
JavaScript有一个基于“事件循环”的并发模型,其中几乎所有I / O都是非阻塞的。操作完成后,消息将与提供的回调函数一起排队。在将来的某个时刻,消息将出列并且回调被触发。
调用者与响应的独立性允许JS运行时在等待异步操作完成并触发其回调时执行其他操作。
JavaScript运行时包含一个消息队列,用于存储要处理的消息列表及其关联的回调函数。在给定回调函数的情况下,这些消息被排队以响应外部事件
运行时有一个单独的线程监听事件,当其中一个事件触发主线程调用必需的回调函数并在后台运行它。处理完事件后,它将返回主线程。这样,单个事件循环可以处理任意数量的事件,因为主事件循环是非阻塞的。
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/d01a2be55f3b6b577db1a1ec1c6a8c54.jpeg)
《推荐阅读》
249月
![640?wx_fmt=jpeg](https://i-blog.csdnimg.cn/blog_migrate/adee926b6a0498d75a52e84c42237c0a.jpeg)
239月
![640?wx_fmt=jpeg](https://i-blog.csdnimg.cn/blog_migrate/adee926b6a0498d75a52e84c42237c0a.jpeg)
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/0690fa8752c93896a7966144687d0652.jpeg)