CNode

一个并发的问题

问答
Wwuxianbingleng发布于7 年前最后回复7 年前2 回复5052 浏览0 收藏
const express = require("express");
const app = express();
function sleep(ms){
  return new Promise((resolve,reject)=>{
    setTimeout(resolve,1000*ms)
  })
}
app.get("/",async function(req,res){
  console.log('start')
  await sleep(2)
  console.log('end')
  res.end()
});
app.listen(3000,()=>{
  console.log('正在监听3000端口')
})

我用ab给这段代码发并发请求;打印出来的结果永远是下面这样 image.png 第一个请求永远是阻塞的。。。

查看回复

回复 (2)

Z
zy445566#1·7 年前

这应该是ab的预请求,就是第一次判断服务是否可用

W
wuxianbingleng#2·7 年前
参与回复
登录后即可参与回复。登录