国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

【已解決】webman中使用swoole,控制器中Request類已經(jīng)做了協(xié)程上下文處理嗎

xiaopi

問題描述

我找到了答案,在協(xié)程中使用全局變量確實(shí)是會(huì)互相干擾,只是我下面的代碼是開多個(gè)進(jìn)程處理的,恰好兩次請(qǐng)求是兩個(gè)進(jìn)程,所以是兩份全局變量。改成只開1個(gè)進(jìn)程,就會(huì)發(fā)現(xiàn)協(xié)程污染的問題了

  • 目前在已有的webman項(xiàng)目中想使用swoole的協(xié)程,所以Event-loop切換成了swoole。
    在控制器中的協(xié)程環(huán)境中,使用全局靜態(tài)變量,按理說兩次請(qǐng)求(兩個(gè)協(xié)程)操作全局變量應(yīng)該會(huì)污染的啊,但是實(shí)際上并沒有發(fā)現(xiàn)污染,是webman已經(jīng)做了上下文處理了么?

  • 如下圖
    截圖

    按照代碼邏輯來看,
    第一次請(qǐng)求參數(shù)a=1時(shí),當(dāng)前請(qǐng)求的協(xié)程A會(huì)先修改全局變量為aaa,然后協(xié)程掛起5秒;
    第二次請(qǐng)求參數(shù)a=2時(shí),當(dāng)前請(qǐng)求的協(xié)程B會(huì)直接修改全局變量為bbb,然后返回給客戶端
  • 問題:

    如果在五秒內(nèi)依次請(qǐng)求上述兩個(gè)請(qǐng)求,請(qǐng)求1在5秒?yún)f(xié)程恢復(fù)后,應(yīng)該已經(jīng)被請(qǐng)求2污染了啊,輸出的全局變量bbb的值啊,為什么我測(cè)試的結(jié)果依舊是正確的,即請(qǐng)求1輸出aaa,請(qǐng)求2輸出bbb

環(huán)境

截圖

測(cè)試結(jié)果

截圖
截圖

1063 0 0
0個(gè)回答

年代過于久遠(yuǎn),無法發(fā)表回答
??