Python之多进程(multiprocessing)学习【4】:进程池

一. 解析

    进程池就是说把进程都放到一个池子里,他会自动给你的任务分配进程,自动返回结果。

 

二. 代码

import multiprocessing as mp

def job(x):
    return x*x

def multicore():
    pool = mp.Pool(processes=2)  # 指定两个核去帮我做事情
    res = pool.map(job,range(10))  # job要迭代做10次,可以定义多个迭代的参数,自动分配给你定义的进程
    print(res)  # 用进程池之后就不需要queue,他可以直接返回
    res = pool.apply_async(job,(2,))
    print(res.get())  # 通过apply_async方式获得的需要get方法来获得,并且一次只能给你分配一个进程,在这一个进程中做同一个事情,后面的它是不会做的
    multi_res = [pool.apply_async(job,(i,)) for i in range(10)]  # 通过列表的迭代方式可以实现apply_async的多个迭代
    print(multi_res)
    print([res.get() for res in multi_res])

if __name__ == '__main__':
    multicore()

 

三. 运行 结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值