Многие ответы говорят, что я должен поставить pool
под оператором with
, который у меня уже есть. Мне не удалось найти связанных тем, не говоря уже о доступных решениях.
ps: я порождаю 100 процессов (n_games
в коде) на 48-ядерном ЦП в Linux.
Код в основном
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()