Sha*_*ras 18 internals node.js
也许实现node.js模块的人可以解释在单个线程上处理的node.js队列和将由模块执行的阻塞IO操作之间的协议.
我怀疑它是这样的:
问题1:上述顺序是否正确?
问题2: node.js队列究竟是什么?它是使用Windows上的epoll,kqueue或IO完成端口的部分吗?它是一个模块的回调机制,通知node.js线程有些IO已经完成了吗?它是如何工作的?
正如你推测的那样,Node.js并没有真正管理这些.相反,它依赖于操作系统来完成大部分异步IO.它根据操作系统使用select/epoll/kqueue."他们"只是打出一个呼叫,操作系统用流,块等回调...就其中的部分内容而言,它内置于V8中,它完成所有工作,将回调绑定到特定事件,如同它在浏览器中.最后,您可以查看libuv,它与节点一起编写,现在全部由Joyent维护.它是Github上的开源,所以如果你真的想要详细信息= D,你可以浏览代码
| 归档时间: |
|
| 查看次数: |
4262 次 |
| 最近记录: |