使用python的多处理模块编辑值或数组

我正在尝试并行化代码。我对python(或一般的编程)缺乏经验,并且不知道如何解决这种竞争状况。这是我正在尝试做的摘要。

import threading

zz=0

def multiprocessing_func(x):
    global zz
    for i in range(100000):
        zz+=1    

z=[]

for i in range(30):
    t=threading.Thread(target=multiprocessing_func,args=(i,))
    z.append(t)
for i in range(30):
    z[i].start()
for i in range(30):
    z[i].join()

返回的zz的值为3000000。我的目标是在此处使用多处理模块,使用Process或在可能的情况下使用Pool复制结果。我想这里的问题在于如何一次在多个线程中访问和编辑变量zz。另外,如果我尝试更改数组的元素而不是zz,必须如何更改代码。我在Windows 10中使用Spyder。请帮助!!

benchimajun 回答:使用python的多处理模块编辑值或数组

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3037569.html

大家都在问