繁体   English   中英

使用 multiprocessing.manager 的问题

[英]Problems using 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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM