Node.js之事件循环
简单叙述一下什么是事件循环
还是拿之前的餐厅来举例,我们去点了个番茄炒蛋,服务生告诉后厨做一个番茄炒蛋,张三也去了餐厅,点了个麻辣小龙虾,服务生又告诉后厨做一份麻辣小龙虾,小李也去了,点了个蛋炒饭。
解析一下这个情景,餐厅是一个事件循环,其中我们的点餐叫做线程。服务生第一个把我要的番茄炒蛋端过来了,于是我的线程结束了,因为麻辣小龙虾做的慢,蛋炒饭做完了,服务生又给小李端上来了蛋炒饭,小李虽然是后来的,但是他的过程要比张三快,最后小龙虾好了,服务生给张三端上来小龙虾,至此三个线程都结束了。
用代码实现一个简易版的事件循环
1 | const eventloop = { |
有话说
当然,在真实情况中会比这复杂的多,不会每50毫秒去检测一次,要快的多,添加的事件也不会只有回调函数,例如一些文件读写操作等。我们的事件队列可能还会有文件处理队列,定时操作队列等多种不同的队列。
就先到这,下次见~
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Wangez-Blog!
评论