gpt4 book ai didi

node.js - node.js 如何处理并发的 http 请求?

转载 作者:搜寻专家 更新时间:2023-10-31 23:54:43 26 4
gpt4 key购买 nike

我正在学习 node.js,但我无法找到这个问题的直接答案。如果 HTTP 传入请求几乎同时传入,node.js 如何处理它们?假设在给定时间收到一个 HTTP 请求。因此,全局变量的值可能会改变。然而,几乎同时,另一个请求进来了。为了服务新请求,需要那个全局变量的值,但是第一个请求的代码仍在执行。 Node 对此有何 react ?

最佳答案

Node.js 一个接一个地处理请求。只有一个线程。

但是,如果您查询数据库以获取某些信息并传递回调,则在执行查询时,node.js 可以处理新请求。一旦数据库查询完成,node.js 调用回调并完成处理第一个请求。

编辑:

简单的服务器示例:

var http = require('http');
var numresponses = 0;
http.createServer(function (request, response) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('This is response #' + (++numresponses));
}).listen(80);

即使两个请求同时发生,该服务器也会始终打印出请求的编号, Node 将选择第一个被处理的,并且两者将具有不同的编号。

关于node.js - node.js 如何处理并发的 http 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24934935/

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