node.js是否为每个客户端创建服务器实例?

问题描述 投票:0回答:1

node.js是为每个客户端创建node.js的实例,还是只有一个node.js服务器实例用于各种客户端,并且仅为每个客户端的路径创建唯一实例?

node.js multithreading server instance clients
1个回答
1
投票

Nodejs不为每个客户端创建新的服务器实例,也没有其他选项。

您可能正在考虑多线程,因为传统的多线程Web服务器为每个客户端请求创建一个新线程,但是由于node.js运行单线程的JavaScript,答案是否定的 - 每个客户端请求都由同一个线程处理。

这就是为什么Node.js和JavaScript通常与阻塞一词相关联的原因,即如果你编写需要很长时间才能完成的代码,它将阻止所有其他用户获得服务。但是,在执行I / O时,您不必担心阻塞,因为Node.js(JavaScript)是异步的 - 这意味着客户端请求在执行I / O操作(如网络请求或磁盘读取)时不会相互阻塞。

要阅读有关单线程Node.js的更多信息,请参阅此S / O答案:Why is Node.js single threaded?

© www.soinside.com 2019 - 2024. All rights reserved.