zoukankan      html  css  js  c++  java
  • 多进程共享数据:数字变量、字符串变量、列表变量、字典变量、实例对象

    from multiprocessing import Process,Manager,Value
    from ctypes import c_char_p
    
    def f(shareDict,shareList,i,s):
        shareDict[1]='1'
        shareDict[2]=2
        shareDict[0.25]=None
        shareList.reverse()
        i.value+=1
        s.value=s.value+' ,over!'
    
    if __name__ == "__main__":
        i=Value('i',0)  # 共享数字变量
        m=Manager()
        shareDict=m.dict()  # 共享字典变量
        shareList=m.list(range(5))  # 共享列表变量
        s=m.Value(c_char_p,'hello')  # 共享字符串变量
        p=Process(target=f,args=(shareDict,shareList,i,s))
        p.start()
        p.join()
        print(shareList)
        print(shareDict)
        print(i.value)
        print(s.value)
    # 共享实例对象
    from multiprocessing import Process,Value,Lock class Counter(object): def __init__(self,initval=0): self.val=Value('i',initval) self.lock=Lock() def increate(self): with self.lock: self.val.value+=1 def value(self): return self.val.value def func(counter): for i in range(5): counter.increate() if __name__ =="__main__": c=Counter(0) #实例对象 procs=[Process(target=func,args=(c,)) for i in range(3)] for p in procs:p.start() for p in procs:p.join() print(c.value())
  • 相关阅读:
    从 JavaScript 到 TypeScript 系列
    有了 indexOf,为什么 ECMAScript 7 还添加了 Array.prototype.include
    网站部署 HTTPS 中需要做的事情
    从 HTTP 到 HTTPS
    从 HTTP 到 HTTPS
    co.js
    记jQuery.fn.show的一次踩坑和问题排查
    JavaScript
    二、HttpClient
    1、网络爬虫
  • 原文地址:https://www.cnblogs.com/reyinever/p/10858084.html
Copyright © 2011-2022 走看看