首页 > 解决方案 > 多处理不断提高“OSError:[Errno 24]打开的文件太多”

问题描述

很多答案说我应该pool发表with声明,我已经有了。我找不到任何相关主题,更不用说可用的解决方案了。

ps:我n_games在 Linux 的 48 核 CPU 上生成 100 个进程(代码中的)。

代码基本上是

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()

标签: pythonmultiprocessing

解决方案


推荐阅读