python中的多进程

python中实现多进程的方式:

1、通过直接Process然后传递参数的方式
就是 
p= Process(target=函数名,args=(a,))
2:通过继承子类然后新建子类对象的方式:
class subProcess(Process):
def run():
print('xxxxxx')


process = subProcess(target=func1,args=(ag1,ag2..))
process.start()
[process.join()]
通过新建该类的对象,调用start()方法


3:通过进程池的方式
pool = Pool(5)
pool.apply_async(方法名)的方式
pool.apply(方法名)
对于后边的方式不推荐使用,因为这中方式一次执行线程池中的一个线程,也就是说效率极低


对于以上三种方法,如果遇到线程不同步的问题,需要通过p.join()的方式来等待子进程完成后继续执行主线程,同时
在线程池中,pool.join()方法调用前必须先关闭线程池,即先调用pool.close()


在多进程中,成员的各个属性都是自己独享的,如果各个进程间需要传递参数,则需要通过进程间通讯的方式,比如通过queue来传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值