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()
我有一个工作进程池,它需要执行一项任务并找到一个解决方案。因此,当其中一个工作进程找到解决方案时,我想停止所有进程。
我想过一种方法就是调用 sys.exit()。但似乎不起作用,因为其他进程在运行。
另一种方法是检查每个进程调用的返回值(part_crack_helper函数的返回值),并在该进程上调用terminate。然而,在使用map函数时,我不知道如何做到这一点。
我应该如何实现这个功能?
pool.apply_async
和pool.terminate
。 - Bi Rico