为了账号安全,请及时绑定邮箱和手机立即绑定

使用 multiprocessing.manager 的问题

使用 multiprocessing.manager 的问题

米琪卡哇伊 2022-07-26 10:24:07
我在使用管理器时遇到了一些问题。我想让两个进程访问一个列表,一个写一个读它。但是数据已经损坏,所以我试图在这里发布一个示例。现在,我还有另一个问题。我将一个列表作为参数传递给函数,但代码不起作用,并说我传递了两个参数而不是一个。这是代码:导入多处理def mde(dad):    for i in range(100):        for j in range(10):            dad[0] = i            dad[1] = jdef mda(dad):    c = 0    while c < 1001:        print(dad)        c += 1if __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()
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

将您的 args 作为元组发送:


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()


查看完整回答
反对 回复 2022-07-26
  • 1 回答
  • 0 关注
  • 65 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信