我正在尝试以下代码:
from multiprocessing import Pool
def f(x):
return x
if __name__ == '__main__':
p = Pool(5)
print(p.map(f, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13]))
据我理解,这5个处理器会分别获得编号为
0, 1, 2, 3, 4
的任务进行处理。如果处理器1完成了它的任务,那么它会立即获得5
这个任务,而其他处理器仍在处理1,2,3,4
这些任务。如果出现后一种情况,那么如何实现上述代码以便于当一个处理器处于空闲状态时能够立即被分配新的任务?如何测试该实现呢?