gpt4 book ai didi

python - 在 Python 3.2 中并行执行 for 循环

转载 作者:太空狗 更新时间:2023-10-29 17:14:09 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
how do I parallelize a simple python loop?

我是 Python 的新手(使用 Python 3.2),我有一个关于并行化的问题。我有一个 for 循环,我希望在 Python 3.2 中使用“多处理”并行执行:

def computation:    
global output

for x in range(i,j):
localResult = ... #perform some computation as a function of i and j
output.append(localResult)

总的来说,我想在 i=0 到 j=100 的范围内执行此计算。因此,我想创建许多进程,每个进程都使用总范围的子域调用函数“计算”。关于如何做到这一点的任何想法?有没有比使用多处理更好的方法?

更具体地说,我想执行域分解,我有以下代码:

from multiprocessing import Pool

class testModule:

def __init__(self):
self

def computation(self, args):
start, end = args
print('start: ', start, ' end: ', end)

testMod = testModule()
length = 100
np=4
p = Pool(processes=np)
p.map(yes tMod.computation, [(length, startPosition, length//np) for startPosition in range(0, length, length//np)])

我收到一条提到 PicklingError 的错误消息。有什么想法可能是这里的问题吗?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com