Manager
from multiprocessing import Manager,Process def main(dic): dic['count'] -= 1 print(dic) if __name__ == '__main__': m = Manager() dic = m.dict({'count':100}) p_dict = [] p = Process(target=main,args=(dic,)) p.start() p.join() print('主进程:',dic)
from multiprocessing import Manager,Process def main(dic): dic['count'] -= 1 if __name__ == '__main__': m = Manager() dic = m.dict({'count':100}) p_lst = [] for i in range(50): p = Process(target=main,args=(dic,)) p.start() p_lst.append(p) for p in p_lst: p.join() print('主进程:',dic)
from multiprocessing import Manager,Process,Lock def main(dic,lock): lock.acquire() dic['count'] -= 1 lock.release() if __name__ == '__main__': m = Manager() lock = Lock() dic = m.dict({'count':100}) p_lst = [] for i in range(50): p = Process(target=main,args=(dic,lock)) p.start() p_lst.append(p) for p in p_lst: p.join() print('主进程:',dic)