python 多进程共享变量中的manager

因为需要提升效率,所以不可避免的用到了多进程。毕竟python中的多线程是伪多线程。

在多进程中经常需要共享变量,这时可以使用Queue等方式来解决,有时候我们还可以用multiprcessing中的manager。manager还可以很方便的实现进程内和进程外的交互。

manager常用的两个方法list,dict

manager = Manager()
d = manager.dict()
l = manager.list()

这里网上很多地方都有说有坑,修改dict内部值的时候,直接赋值是无效的。需要做一个类似于这样

m = d
m['2'] = 2
d = m

的变换。这个没有问题,但是使用list的时候很有意思,在进程内可以直接使用.append()追加,这在进程外是生效的,但是想要清空这个list。这个list是没有clear这个方法的,他会返回这是一个proxylist。

然而,你如果使用

l[:] = []

则可以在进程内清空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值