许多答案表明我应该将pool
放在我已经拥有的with
语句下。我找不到任何相关主题,更不用说可用的解决方案了。
p.s .:我在Linux的48核CPU上产生了100个进程(代码中的n_games
)。
代码基本上是
with mp.Pool(mp.cpu_count() - 1) as pool:
jobs = [pool.apply_async(
game.start_play,
(player1, player2, i % 2, 0)
) for i in range(n_games)]
for job in jobs:
win_cnt[job.get()] += 1
pool.close()
pool.join()