在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ 循環(huán)引用的python程序中,如何釋放掉內(nèi)存。

循環(huán)引用的python程序中,如何釋放掉內(nèi)存。

在項(xiàng)目中遇到這樣一個(gè)問題,代碼流程大致就是 先開始A方法,A方法調(diào)用B方法。B方法執(zhí)行結(jié)束后再次調(diào)用A方法,這樣需要執(zhí)行大概2w次后跳出,但是執(zhí)行大概2000次的時(shí)候,內(nèi)存就滿了,線程就被殺死了。請(qǐng)教大家,如何在循環(huán)中釋放掉內(nèi)存。

回答
編輯回答
硬扛

你這個(gè)就是遞歸。
改,沒商量。
要么改不耗資源的遞歸,要么改遞歸為能控制的循環(huán)。

2017年1月8日 17:01
編輯回答
紓惘

我舉個(gè)例子吧,讀取了一個(gè)幾百兆文件內(nèi)容保存在fc變量里,你可以看下電腦內(nèi)存也是增長(zhǎng)的,如果一個(gè)文件不明顯能就多讀幾個(gè)文件。然后確定不再用的時(shí)候,直接del fc就可以釋放內(nèi)存了。

2018年6月5日 02:37
編輯回答
祉小皓

我考慮采用 實(shí)現(xiàn) 上下文管理協(xié)議, 然后你的對(duì)象在相互調(diào)用的時(shí)候,
利用 __enter____exit__ 自動(dòng)釋放不使用的資源。
請(qǐng)參考:https://www.ibm.com/developer...

2017年3月13日 02:57
編輯回答
抱緊我

把公用的變量改成全局變量,不公用的局部變量,用完后立即del掉

2017年11月20日 11:11
編輯回答
維他命

本想在每層遞歸結(jié)尾調(diào)用gc.collect(),但好像并沒有什么用,del也不會(huì)生效??磥硎沁f歸真的不釋放內(nèi)存。

2017年9月19日 20:11
編輯回答
孤客

這種遞歸方式,內(nèi)存沒占滿也是會(huì)棧溢出的。遞歸過程中,上一層的函數(shù)實(shí)際并沒有運(yùn)行完,因此也別指望垃圾回收過來清理。強(qiáng)烈建議改程序,可以類似這樣:

while True:
    a()
    b()
2018年2月6日 19:44