我试图用一对数字和一些其他固定数据并行化循环。也就是说,我正在迭代一对数字,如(1,2),(6,4),(4,3)...与其他固定数据集。
if (++x == 10 )
System.out.println( "X is equal to 10");// this will not print if condition will tern false
myfunc正在处理两个输入,迭代列表,各种数据集列表。
'迭代列表'由[[1,2],[3,4],[5,6] ......],...组成 '各种数据集列表'包含各种类型的数据集,如[日期,浮动,数据框,...等],但它已修复。
当我运行上面提到的主程序时,python说
def myfunc(list of iterates, list of various datasets)
doing stuff
if __name__ == '__main__':
read_data(a lot)
iterates = [[1,2], [3,8], [7,9], [12,5]] # means nothing
pool = multiprocessing.Pool(processes=4)
partial_myfunc = partial(myfunc, list of various datasets=some_data)
results = pool.map(partial_myfunc, iterates)
有没有人能说出发生了什么?我真的需要一些帮助。
答案 0 :(得分:0)
你可以调整你的线程代码如下:
...
max_threads = multiprocessing.cpu_count()
...
#create pool with max_threads - feel free to do max_threads-1 so your device is still usable
p = multiprocessing.Pool(max_threads)
results = p.map(partial_myfunc, iterates)
你正在使用python 2或3吗?您提供的信息越多,弄清楚就越容易:)
如果它有任何区别,请告诉我!