javascript - node 的Event-Loop?
PHPz
PHPz 2017-04-11 12:23:05
[JavaScript讨论组]

今天在看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++还有一段路要走,所以希望大咖们帮忙解答一下小弟的疑惑?谢谢(希望答者是真正的明白者!!!再次谢谢)

PHPz
PHPz

学习是最好的投资!

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号