您好,欢迎来到花图问答。
搜索
您的当前位置:首页多进程例子

多进程例子

来源:花图问答

多进程简单例子

from  multiprocessing import Lock,Value,Process
def mulTask(isFirst):
        #这里是处理任务的类
       a =A()
       a.doSomeThing()
if __name__ == '__main__':

    isFirstStart = Value('d',True) #通过共享状态来判断事件触发

    lock = Lock() #通过锁来访问共同资源
  
    ps = [Process(target=mulTask, args=(isFirstStart,)) for x in range(3)]
    for p in ps:
        p.start()
    for p in ps:
        p.join()

如果A类中用到mongodb数据库,client 每次A()的时候需要实例化一次
也就是说, A类的实例化对象必须持有一个独有的MongoClient() 对象.
(如果不这样做的话,mongodb会报错:mongodb在进程开始前被建立连接)

以上简单来说就是: 进程创建一次,MongoClient() 对象一个进程中持有一个. 共享数据访问,通过Lock来解决

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务