pythton之进程中的进程池

  • 创建进程池
  • 指定进程池数量表示进程池中最多有指定的数列
pool = multiprocessing.Pool(3)
  • 使用同步的方式去执行任务,进程池中的进程需要等待其它进程执行完成以后才能执行指定的任务
pool.apply(copy_work)
  • 异步执行,进程池中的进程一起执行,不会等待其它进程的执行
pool.apply_async(copy_work)

提示: 主进程不会等待进程池把任务执行完成以后程序再退出

提示: 进程池不再接收其它需要执行的任务

pool.close()
  • 等待进程池把任务执行完成以后程序再退出
pool.join()

进程池中的queue

queue = multiprocessing.Manager().Queue()

# 创建进程池
pool = multiprocessing.Pool(2)
# 让进程池执行写入数据的任务
# pool.apply(write_data, (queue,))
# # 让进程池执行读取数据的任务
# pool.apply(read_data, (queue,))
result = pool.apply_async(write_data, (queue,))

等待异步任务执行完成以后代码再继续执行

  1. 解决办法2
result.wait()

1.使用延时

# time.sleep(1.1)
pool.apply_async(read_data, (queue,))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值