Python 多进程

  • 基本的多进程:每个程序之间相互不关联,不需要返回结果

    • 使用Processing类即可
    • 实例如下:

      process = Process(
          target=processing_one_folder,
          args=(
              fold_path,
              annotations_dict[int(fold_name)],
          )
      )
      process.start()
    • 其中target是我们需要执行的函数,args是这个函数需要的参数。这样就会使得每一个进程运行同一个函数。

  • 一般的多进程:每个程序之间相互不关联,需要利用返回的结果

    • 使用Pool类
    • 实例如下:

          pool = Pool(processes=16)
          for i in range(n):
              results.append(
                  pool.apply_async(
                      calu_label,
                      [image_path, selected, records]
                  )
              )
          pool.close()
          pool.join()
          for result in results:
              it is our result
    • 其中processes指定了我们开启的进程数,calu_label使我们需要执行的参数,后面【】数组里面的内容是我们的参数
    • results就是每个进程返回的结果集合
  • 高级多进程:进程之间需要通信,暂时还没用到,之后用到的再来更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值