美文网首页
EventLoop基本原理

EventLoop基本原理

作者: 雷雨leiyu | 来源:发表于2021-05-20 12:14 被阅读0次

EventLoop是一种计算机运行机制,可以解决JavaScript单线程带来的一些问题。

EventLoop是一种程序结构,用于等待发送消息和事件(a programming construct that waits for and dispatches messages or events)。

JavaScript的问题

单线程语言,所有任务都在一个线程上完成,因为一个进程一次只能执行一个任务,只好等前面的任务执行完了,再执行后面的任务。一旦遇到大量任务或者遇到一个耗时的任务,网页就会出现"假死",因为JavaScript停不下来,也就无法响应用户的行为。

线程结构

  • 主线程:负责运行程序本身;
  • EventLoop线程(消息线程):负责主线程与其它线程(各种I/O操作)进行通信;

异步模式

2013102004.png

异步模式(asynchronous I/O)又称非堵塞模式(non-blocking mode)。
单线程模型虽然对JavaScript构成了很大的限制,但也因此使它具备了其他语言不具备的优势。如果部署得好,JavaScript程序是不会出现堵塞的,这就是为什么node.js平台可以用很少的资源,应付大流量访问的原因。

相关文章

网友评论

      本文标题:EventLoop基本原理

      本文链接:https://www.haomeiwen.com/subject/igbvjltx.html