我做了一个简单的多处理代码,但我认为它不工作。你知道吗
当我在笔记本电脑上尝试这个代码时,我通过ActivityMonitor应用程序检查了处理器,结果显示一些处理器工作正常。所以,有了这段代码,我在工作站上运行了它(核心是28个,使用了24个),并通过任务管理器再次检查了它。但是,CPU使用率没有增加,只是处理器增加了。你知道吗
# Multiprocessing
def multi(input_field):
result = subvolume.label(input_field)
return result
test_list = [resampled_sub_1, resampled_sub_2, resampled_sub_3,
resampled_sub_4, resampled_sub_5]
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=24)
results = pool.map(multi, test_list)
pool.close()
pool.join()
当多重处理做得好的时候,我认为CPU的使用量会增加。我哪里做错了?你知道吗
池中有24个进程,但iterable
test_list
中只有5项。 当您从我的答案here中选择calc_chunksize_info()
时,您可以计算生成的和分布的块:Chunksize将是
1
,因此最多可以并行运行五个工作进程。输入iterable中没有足够的项来使用所有工作进程。你知道吗作为旁注:
test_list
应该在if __name__ == '__main__':
-块中定义。你知道吗相关问题 更多 >
编程相关推荐