我有一个数组(称为data_inputs)包含数百个天文图像文件的名称。这些图像然后被操纵。我的代码工作并需要几秒钟来处理每个图像。但是,它只能在同一时间做一个形象,因为我跑的阵列通过“for”循环:python多处理for循环
for name in data_inputs:
sci=fits.open(name+'.fits')
#image is manipulated
没有理由为什么我在任何其他修改的图像,因此,它是可以利用我的机器上的所有4个内核,每个内核在不同的映像上运行for循环?
我读过关于多处理模块,但我不确定如何在我的情况下实现它。 我很想让多处理工作,因为最终我必须在10,000个以上的图像上运行这个。
它可能会更好使用: 'pool = Pool(os.cpu_count())' 这是使用多处理的更通用的方法。 –
注意:在Python 3.4中添加了'os.cpu_count()'。对于Python 2.x,使用'multiprocessing.cpu_count()'。 – dwj
'Pool()'与'Pool(os.cpu_count())'相同' – Tim