国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - 關(guān)于nodejs處理并發(fā)的一點(diǎn)小疑惑
巴扎黑
巴扎黑 2017-05-16 13:39:29
0
3
765

突發(fā)奇想 在express里面定義了一個(gè)路由:

var n = 0;

app.get('/', function(req, res){
  console.log(++n);
  setTimeout(function(){
    console.log("ok");
    res.send("ok")
  },6000)

});

測(cè)試如下,打開(kāi)N個(gè)瀏覽器標(biāo)簽;
打開(kāi)第一個(gè)標(biāo)簽后訪問(wèn) localhost:3000/
在6秒鐘內(nèi)打開(kāi)第二個(gè)標(biāo)簽訪問(wèn)localhost:3000/
發(fā)現(xiàn)第一個(gè)請(qǐng)求在res.send()結(jié)束之前 第二次訪問(wèn)是不會(huì)有反應(yīng)的;
直到第一個(gè)訪問(wèn)res.end 后 console.log(++n);才打印2
======================神奇的分隔符========================================
實(shí)驗(yàn)糾正,根據(jù)下面的評(píng)論,上面的實(shí)驗(yàn)是在同一個(gè)瀏覽器的不同標(biāo)簽打開(kāi)的,
而用不同的瀏覽器,意思是指,我用谷歌瀏覽器打開(kāi)localhost:3000/ ,然后在6秒內(nèi)用ie瀏覽器再打開(kāi)localhost:3000/,前面的請(qǐng)求是不會(huì)阻塞后面的,產(chǎn)生如下疑問(wèn)。
第一個(gè)問(wèn)題,假如這6秒內(nèi)有一萬(wàn)個(gè)用戶同時(shí)訪問(wèn),我去....保持1萬(wàn)個(gè)連接嗎,這個(gè)可能嗎?我這懵逼了。
第二個(gè)問(wèn)題,為什么同一個(gè)瀏覽器打開(kāi)會(huì)發(fā)生阻塞呢?

巴扎黑
巴扎黑

全部回復(fù)(3)
Peter_Zhu

Node 的運(yùn)行時(shí)采用的是單線程事件循環(huán)。你的代碼中 setTimeout() 函數(shù)是一個(gè)阻塞操作,Node 只有一個(gè)線程執(zhí)行 setTimeout()。因此其他的操作都在 隊(duì)列 中等待。

可以參考這里:http://www.nodebeginner.org/i...

phpcn_u1582

這個(gè)是瀏覽器 有點(diǎn)小問(wèn)題
正解如下:
https://github.com/tianyk/not...

根據(jù)樸靈改變的代碼:

var status = 'ready';


app.get('/', function(req, res){
// 進(jìn)入之后監(jiān)聽(tīng)haha事件
  proxy.once('haha', function(x){console.log(x);
      res.send("ok");
  });
  // 打印狀態(tài);
  console.log(status);
  // 判斷狀態(tài),狀態(tài)為ready,
  if(status == 'ready'){
    status = 'pending';
    console.log(++n);
  setTimeout(function(){
    proxy.emit('haha',"我是啊啊啊啊啊");
    console.log("ok");
    status = 'ready'
  },6000)
  }else{
    console.log("現(xiàn)在是pending狀態(tài),我只能等待某個(gè)請(qǐng)求返回觸發(fā)emit")
  }

});

這里注意 回調(diào)里面處理res,這樣回調(diào)才能分發(fā)到不同的請(qǐng)求者那里;
開(kāi)始寫的代碼;res在定時(shí)器里面處理,以參數(shù)形式傳遞個(gè)回調(diào),報(bào)錯(cuò)了,不太明白;

世界只因有你

不懂 Nodejs,但是一直聽(tīng)說(shuō) Nodejs 能夠處理高并發(fā),來(lái)旁聽(tīng)一下。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板