2
mp.set_start_method('spawn')
total_count = Counter(0)
pool = mp.Pool(initializer=init, initargs=(total_count,), processes=num_proc)
pool.map(part_crack_helper, product(seed_str, repeat=4))
pool.close()
pool.join()
所以我有一个工作进程池,做一些工作。它只需要找到一个解决方案。因此,当其中一个工作进程找到解决方案时,我想停止一切。Python多进程池。当其中一个工作进程确定没有更多工作需要完成时,如何退出脚本?
我想到的一种方法就是调用sys.exit()。但是,由于其他进程正在运行,这看起来似乎没有正常工作。
另一种方法是检查每个进程调用的返回值(part_crack_helper函数的返回值)并调用该进程的终止。但是,使用该映射函数时,我不知道该怎么做。
我该怎么做到这一点?
看看'pool.apply_async'和'pool.terminate'。 –