使用multiprocessing.manager时出现问题



我在使用管理器时遇到了一些问题。我想让两个进程访问一个列表,一个编写,一个读取它。但是数据正在损坏,所以我试图举个例子在这里发布。现在,我又有了一个问题。我正在将列表作为参数传递给函数,但代码不起作用,并说我传递了两个参数而不是一个。这是代码: 导入多处理

def mde(dad):
for i in range(100):
for j in range(10):
dad[0] = i
dad[1] = j
def mda(dad):
c = 0
while c < 1001:
print(dad)
c += 1
if __name__ == '__main__':
manager = multiprocessing.Manager()
dado = manager.list([0, 0])
print(dado)
p1 = multiprocessing.Process(target=mde, args=dado)
p2 = multiprocessing.Process(target=mda, args=dado)
p1.start()
p2.start()
p1.join()
p2.join()

将参数作为元组发送:

import multiprocessing
def mde(dad):
for i in range(100):
for j in range(10):
dad[0] = i
dad[1] = j
def mda(dad):
c = 0
while c < 1001:
print(dad)
c += 1
if __name__ == '__main__':
manager = multiprocessing.Manager()
dado = manager.list([0, 0])
print(dado)
p1 = multiprocessing.Process(target=mde, args=(dado,))
p2 = multiprocessing.Process(target=mda, args=(dado,))
p1.start()
p2.start()
p1.join()
p2.join()

相关内容

  • 没有找到相关文章