最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

解決python使用multiprocessing多線程打包成exe文件后內(nèi)存爆裂

2023-03-15 19:52 作者:眾創(chuàng)云  | 我要投稿

關(guān)于Python進程池pool與pyinstaller打包exe程序運行的奇怪問題!

最近想吧自己寫的py文件打包成exe文件給別人用,學(xué)習(xí)了pyinstaller也基本會用了,但是在打包多進程程序的時候遇到奇怪問題,向各位求解。

我吧程序簡化了下:

但是用pyinstaller 打包EXE文件,問題來了,打包過程也很簡單>pyinstaller -F XXX.py

然后我執(zhí)行EXE文件,意向不到的結(jié)果來了,死循環(huán)?。。。。。。。。。?!不會結(jié)束。

出坑:解決了?。。。。。。。。。。。?!

在if __name__ == '__main__':?中加入:multiprocessing.freeze_support()?

即:

知識點:
1、因為開啟子進程是不支持打包exe文件的,所以會不停向操作系統(tǒng)申請創(chuàng)建子進程,
而這個代碼 multiprocessing.freeze_support() 作用就是支持打包到Windows的EXE文件。

2、多進程的程序運行后,如果直接關(guān)閉控制臺窗口,那么整個程序都會退出。
如果是 進入 任務(wù)管理器,單獨結(jié)束 控制窗口 的進程,如果子進程不是守護進程,那么子進程還是會繼續(xù)運行。

3、如果是多線程的,則沒這個問題,可以直接打包。
但有個小提示, 如果是 tkinter 的圖形界面運行的,是多線程的話,如果子線程不是守護線程,那么關(guān)掉主界面后,子線程會繼續(xù)運行。
如果也是控制臺窗口的話,效果和上面 2 提到的進程效果一樣。


解決python使用multiprocessing多線程打包成exe文件后內(nèi)存爆裂的評論 (共 條)

分享到微博請遵守國家法律
宜都市| 宜黄县| 平乐县| 东乡| 乌拉特后旗| 邵阳县| 丰顺县| 大方县| 沙坪坝区| 公安县| 卢龙县| 乌恰县| 涪陵区| 历史| 雷波县| 湖口县| 永济市| 平安县| 英山县| 昭通市| 赤壁市| 大方县| 文安县| 彝良县| 利辛县| 昌江| 安阳县| 伊宁市| 广昌县| 鹤山市| 侯马市| 廉江市| 佛冈县| 东光县| 监利县| 合水县| 武川县| 北流市| 体育| 双鸭山市| 柳江县|