国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

AsyncHTTPClient和requests庫(kù)為什么不關(guān)閉連接?

2019-11-09 18:37:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

轉(zhuǎn)自:https://www.zhihu.com/question/38614659

測(cè)試報(bào)告發(fā)現(xiàn)網(wǎng)絡(luò)鏈接沒(méi)有關(guān)閉。后來(lái)發(fā)現(xiàn)是由于復(fù)用了asynchttpclient,所以一直沒(méi)有關(guān)閉連接。

摘自知乎

之前一段時(shí)間,一直在用tornado的異步客戶端。 http_client = AsyncHTTPClient()response = yield http_client.fetch(url, method=‘POST’, body=data)response.body…..但是從來(lái)沒(méi)寫(xiě)過(guò):http_client.close()這樣的代碼。類似的,同步的阻塞請(qǐng)求,我一般使用python的requests庫(kù):response = requests.post(url, body)response.content但是也沒(méi)有調(diào)用過(guò)類似close()的方法, 按理來(lái)說(shuō),數(shù)據(jù)庫(kù)連接,文件句柄,網(wǎng)絡(luò)連接,這些非托管資源,不是都應(yīng)該手動(dòng)去關(guān)閉的么?我記得比較“低級(jí)”的http庫(kù)確實(shí)會(huì)調(diào)用關(guān)閉: HTTPConnection.close(),那么我的問(wèn)題是1.我在tornado的http客戶端,和requests庫(kù)中,如何關(guān)閉它們?2.是否是因?yàn)楸举|(zhì)上,這兩個(gè)客戶端在關(guān)閉方式上就是不同的。3.如果不關(guān),我的服務(wù)長(zhǎng)期這樣跑著,總有一天會(huì)大量?jī)?nèi)存泄露吧?

作者:彭泉鑫鏈接:https://www.zhihu.com/question/38614659/answer/77237485來(lái)源:知乎著作權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)。HTTPClient對(duì)象銷毀的時(shí)候,會(huì)自動(dòng)關(guān)閉連接,這是寫(xiě)在__del__中的tornado/httpclient.py at c4183b86890ffadbdb23fd7beac756c7990a035e · tornadoweb/tornado · GitHubAsyncHTTPClient也有close方法根據(jù)官方的文檔:close()This method is not needed in normal use due to the way that AsyncHTTPClient objects are transparently reused. close() is generally only necessary when either theIOLoop is also being closed, or the force_instance=True argument was used when creating theAsyncHTTPClient.該方法通常是不會(huì)用到的,因?yàn)?strong>AsyncHTTPClient對(duì)象會(huì)自動(dòng)被復(fù)用(對(duì)用戶是透明的)。只有在IOLoop也被關(guān)閉,或者創(chuàng)建的時(shí)候設(shè)置了 force_instance=True,才有必要去用它。實(shí)際上,在IOLoop關(guān)閉的時(shí)候,它會(huì)自動(dòng)被回收。1.我在tornado的http客戶端,和requests庫(kù)中,如何關(guān)閉它們?一般情況下不用手動(dòng)關(guān)閉,對(duì)象銷毀的時(shí)候(或者IOLoop關(guān)閉的時(shí)候)會(huì)自動(dòng)關(guān)閉連接2.是否是因?yàn)楸举|(zhì)上,這兩個(gè)客戶端在關(guān)閉方式上就是不同的。不是,底層都是一樣的HTTP連接,只不過(guò)另一個(gè)使用起來(lái)是異步的(通過(guò)協(xié)程的方式)3.如果不關(guān),我的服務(wù)長(zhǎng)期這樣跑著,總有一天會(huì)大量?jī)?nèi)存泄露吧?大量無(wú)用的連接用完不釋放,必然會(huì)導(dǎo)致內(nèi)存泄漏,但你不用擔(dān)心, 因?yàn)樵趖ornado和requests里這些HttpConnection會(huì)被自動(dòng)回收編輯于 2015-12-17


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阳信县| 阳新县| 唐河县| 洛隆县| 瓮安县| 卢氏县| 定州市| 平阳县| 屯昌县| 赤壁市| 宜宾县| 周口市| 镇宁| 芜湖县| 梁河县| 中山市| 南投市| 集贤县| 潼关县| 门源| 望都县| 石家庄市| 石台县| 屯昌县| 泸溪县| 连山| 黔东| 宜宾县| 溧水县| 盐池县| 双柏县| 章丘市| 拜泉县| 江北区| 收藏| 闸北区| 苍梧县| 墨竹工卡县| 杨浦区| 孟连| 台山市|