gpt4 book ai didi

node.js - Nodejs 回调机制——哪个线程处理回调?

转载 作者:IT老高 更新时间:2023-10-28 23:25:35 24 4
gpt4 key购买 nike

我是 nodeJS 的新手,想知道 Node.js 的单实例模型。在一个简单的 nodeJs 应用程序中,当一些阻塞操作通过回调异步处理时,运行 nodeJs 的主线程是否也处理回调?如果请求是从数据库中获取一些数据,并且有 100 个并发用户,并且每个数据库操作需要几秒钟,那么当最终触发回调(对于每个连接)时,主线程是否接受这些请求也用于执行回调?如果是这样,nodeJs 是如何扩展的,它是如何快速响应的?

最佳答案

nodejs 的每个实例都在一个线程中运行。时期。当您对网络请求进行异步调用时,它不会等待它,也不会在您的代码或其他任何地方等待。它有一个贯穿的事件循环。当响应准备好时,它会调用您的回调。

这可以是令人难以置信的性能,因为它不需要大量的线程和所有的内存开销,但这意味着你需要小心不要做同步阻塞的东西。

http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/ 上有一个相当不错的事件循环解释。和原来的jsconf Ryan Dahl 的演讲 http://www.youtube.com/watch?v=ztspvPYybIY值得一看。见过工程师因技术演示而起立鼓掌吗?

关于node.js - Nodejs 回调机制——哪个线程处理回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18080953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com