素材牛VIP会员
node 的Event-Loop?
 起***劲  分类:Node.js  人气:1001  回帖:1  发布于6年前 收藏

今天在看node的Event-Loop时遇到了很久以来的疑问,不甚了解;

  1. 首先阐述一下我阅读完这两篇博客的收获和问题这是
    第一篇:链接描述

    第二篇:链接描述

    很希望有大神能帮忙解惑一下谢谢!

  2. 我所理解的event-loop

    • 通过javascript调用node的核心模块,将参数和回调函数传入到核心模块。

    • 由node binding沟通C/C++,实现数据交互。

    • 由node的核心模块将参数和回调函数封装成请求对象,libuv将请求对象推入线程池,由空闲的线程去执行。

    • 执行完后将执行结果放到请求对象的result属性上。并发出一个完成通知,然后在libuv的event-loop队列中注册一个回调函数?也就是请求时的回调函数???

    • 每次Event-Loop时检查是否有完成了的操作。有就放在观察者队列?

    • 然后事件触发时,会去取出(观察者队列中?)之前封装请求对象时的回调函数,并将result当成参数,完成事件的处理?

    • 事件循环队列和观察队列不是一个队列 对吧?或者说我概念没理清?

  3. 由于深知看懂底层C/C++还有一段路要走,所以希望大咖们帮忙解答一下小弟的疑惑?谢谢(希望答者是真正的明白者!!!再次谢谢)

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv5 码农
西***千 Linux系统工程师 6年前#1

看下这篇文章,希望你能理解其中的运行机制 http://www.ruanyifeng.com/blo...

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取