python:多进程的分布式进程multiprocessing.managers

Server processManager()返回一个manager对象,它控制一个服务器进程,这个进程会管理python对象并允许其他进程通过代理的方式来操作这些对象manager对象支持多对种类型。例子见下from mulitprocessing import Process,Managerdef f(d,l): d[1]='1' d['2']=2 d[0.25]=None l.reverse()if __name__=='__main__':.
摘要由CSDN通过智能技术生成

Server process

Manager()返回一个manager对象,它控制一个服务器进程,这个进程会管理python对象并允许其他进程通过代理的方式来操作这些对象

manager对象支持多对种类型。例子见下

 

from mulitprocessing import Process,Manager

def f(d,l):
    d[1]='1'
    d['2']=2
    d[0.25]=None
    l.reverse()

if __name__=='__main__':
    with Manager() as manager:
        d = manager.dict()
        l = manager.list(range(10))
        
        p = Process(target=f,arge=(d,1))
        p.start()
        p.join()
        print(d)
        print(l)

with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会这执行必要的 ‘清理’ 操作,释放资源,比如文件使用后自动关闭,线程中锁的自动获取acquire和release等

with 语句的实现类似try..finally


管理器特点:

  服务器进程管理器比使用共享内存对象更灵活,它们支持二进制对象类型,同时,一个单独的manager可以被网上的不同计算器的进程共享,缺点是比使用shared memory慢

 


Managers:

  managers 提供了创建一种数据的方法,这个数据可以被不同的进程

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值