【发布时间】:2014-08-07 12:50:08
【问题描述】:
import multiprocessing
from multiprocessing import Pool
from source.RUN import*
def func(r,grid,pos,h):
return r,grid,pos,h
p = multiprocessing.Pool() # Creates a pool with as many workers as you have CPU cores
results = []
if __name__ == '__main__':
for i in pos[-1]<2:
results.append(Pool.apply_async(LISTE,(r,grid,pos[i,:],h)))
p.close()
p.join()
for result in results:
print('liste', result.get())
我想为(LISTE,(r,grid,pos[i,:],h)) 进程创建池,而i 在 pos 中,它在不同的文件中是变量ndarray[],我必须在一个 While 循环之间的另一个文件中调用这整个函数。但是这段代码给出了错误,如果我正在使用
if __name__ == '__main__':
它不会通过if __name__ == '__main__': 模块下方
请告诉我我该怎么做
【问题讨论】:
-
这:
for i in pos[-1]<2:没有意义。你到底是什么意思? -
for i in pos[-1]
-
也许我遗漏了一些东西...
pos[-1]<2不只是要评估为True或False吗?那么你正在做for i in True:或for i in False:。 -
no pos[-1]
标签: python parallel-processing multiprocessing