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

有一種情況下,connection對(duì)象無(wú)法被釋放

phphand

首先我怎么確定不是我的業(yè)務(wù)代碼問(wèn)題:
就是我的業(yè)務(wù)代碼里,沒(méi)有做任何對(duì)這個(gè)connection對(duì)象的引用。為了確認(rèn)100%沒(méi)有做引用,我特意為某個(gè)連接做了特殊處理,就是基本上沒(méi)有業(yè)務(wù)代碼。

什么情況下無(wú)法被釋放:我做的是HTTP服務(wù),就是在客戶端瀏覽器連接上服務(wù)器,但是還沒(méi)有收到響應(yīng),就主動(dòng)的關(guān)閉了連接的情況下。
這時(shí)候服務(wù)端的這個(gè)connection對(duì)象,就無(wú)法被正常釋放回收。

我專門(mén)研究了,onClose事件會(huì)觸發(fā),destroy方法也會(huì)被執(zhí)行,但是destruct方法無(wú)法被觸發(fā)。

我打印了一下堆棧。大概是:
baseRead方法里面有一個(gè)代碼發(fā)現(xiàn)到客戶端的連接已經(jīng)關(guān)閉,然后就主動(dòng)的執(zhí)行了destroy方法,似乎是試圖關(guān)閉連接。但是結(jié)果是這個(gè)連接不能被正常釋放。

3072 2 0
2個(gè)回答

walkor 打賞

應(yīng)該是php還沒(méi)來(lái)得及回收它。執(zhí)行 gc_collect_cycles(); 可以觸發(fā)回收。后面我看下怎么優(yōu)化下。

  • phphand 2021-02-07

    但是同時(shí)發(fā)生的其他連接都被回收了,只有這個(gè)情況的連接不被回收。

  • phphand 2021-02-08

    我個(gè)人認(rèn)為可能是這種情況下,connection的socket對(duì)象沒(méi)有被正常釋放,導(dǎo)致連帶connection對(duì)象無(wú)法回收。

  • phphand 2021-02-08

    我靠,你是對(duì)的。確實(shí)是php沒(méi)來(lái)得及回收。用gc_collect_cycles()后,就可以了。但是為什么其他類型的連接能回收???

phphand

我個(gè)人認(rèn)為可能是這種情況下,connection的socket對(duì)象沒(méi)有被正常釋放,導(dǎo)致連帶connection對(duì)象無(wú)法回收。

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??