热门搜索 :
考研考公
您的当前位置:首页正文

多进程例子

来源:东饰资讯网

多进程简单例子

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来解决
Top