Python进程池Pool

Python进程池Pool

最近做了一个demo,用到了进程池,要提升速率,但是打包成exe之后程序直接卡死了。

网上搜索之后发现在Win系统下要加freeze_support()这么一段代码

if __name__ == '__main__':
    while True:
        try:
            freeze_support()
            number = get_number_page()
            # number = 200
            groups = [x for x in range(1,int(number))]
            pool = Pool(10)
            pool.map(main,groups)

官方文档给出了如下解释:

大致翻译一下

添加对何时冻结使用多处理的程序以生成Windows可执行文件的支持。 (已经使用py2exe,PyInstaller和cx_Freeze进行了测试。)

需要在主模块的if __name__ =='__ main__'行之后直接调用此函数。 例如:

from multiprocessing import Process, freeze_support

def f():
    print('h
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值