Som*_*guy 9 asynchronous scalability callback single-threaded node.js
我是nodeJS的新手,并且想知道Node的单实例模型.在一个简单的nodeJs应用程序中,当使用回调异步处理某些阻塞操作时,运行nodeJs的主线程是否也处理回调?如果请求是从数据库中获取一些数据,并且有100个并发用户,并且每个db操作需要几秒钟,当最终触发回调时(对于每个连接),主线程是否接受这些请求用于执行回调?如果是这样,nodeJs如何扩展以及它如何快速响应?
nodejs的每个实例都在一个线程中运行.期.当您对网络请求进行异步调用时,它不会等待它,而不是在您的代码或其他任何地方.它有一个贯穿的事件循环.当响应准备就绪时,它会调用您的回调.
这可能是非常高效的,因为它不需要大量的线程和所有内存开销,但这意味着你需要注意不要做同步阻塞的东西.
在http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/以及Ryan Dahl 的原始jsconf演示中,对事件循环有一个相当不错的解释http:/ /www.youtube.com/watch?v=ztspvPYybIY值得一看.有没有见过工程师获得技术演示的起立鼓掌?
| 归档时间: |
|
| 查看次数: |
2825 次 |
| 最近记录: |