使用Python内置的multiprocessing.Manager来创建管理器对象,保证多进程之间的数据共享和同步。
示例代码:
from multiprocessing import Process, Manager
def worker(d, key, value):
d[key] = value
if __name__ == '__main__':
manager = Manager()
d = manager.dict()
p1 = Process(target=worker, args=(d, 'key1', 'value1'))
p2 = Process(target=worker, args=(d, 'key2', 'value2'))
p1.start()
p2.start()
p1.join()
p2.join()
print(d)
通过manager.dict()创建一个可在多进程之间共享的字典对象,然后将其作为参数传递给多个子进程中的worker函数。使用join()方法等待子进程执行完毕,最后输出字典对象。使用这种方法保证了多进程之间的数据共享和同步,避免了不可靠的情况。
上一篇:不可靠的串口