zoukankan      html  css  js  c++  java
  • 【python】多进程共享变量

    有一个字典变量,需要在多个进程间共享

    使用Manager, 下面是一个小例子。 注意使用json前需要将类型转换。

    #!/usr/bin/python
    # coding=utf-8
    
    
    import json
    from multiprocessing import Process, Lock, Manager
    
    
    def deal(data, lock, share_dict):
        # do something
        share_dict["test"] = 10
        mydict = dict(share_dict)  # 注意,共享dict无法直接dumps,会报类型错误,必须先转换为普通字典
        json.dumps(mydict)
    
    def deal_multi():
        data = "test"
        n = 10
        process = list()
        lock = Lock()    #  多进程锁
        m = Manager()    
        share_dict = m.dict()   #  多进程共享变量 字典
        for i in xrange(n):
            process.append(Process(target=deal, args=(data, lock, share_dict)))
        for p in process:
            p.start()
        for p in process:
            p.join()
    
    
    if __name__ == '__main__':
        deal_multi()
  • 相关阅读:
    idea用法
    pagehelper用法
    mybatis
    多线程2
    radio 标签状态改变时 触发事件
    多线程
    a标签点击后,给a标签添加样式
    servlet
    mybatis 查询
    springmvc 发送PUT 和 DELETE 请求
  • 原文地址:https://www.cnblogs.com/dplearning/p/7778842.html
Copyright © 2011-2022 走看看