av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Python多進程池。當(dāng)工作進程之一確定不再需要執(zhí)行更多工作時,如何退出腳本?

瀏覽:3日期:2022-08-07 10:12:51
如何解決Python多進程池。當(dāng)工作進程之一確定不再需要執(zhí)行更多工作時,如何退出腳本??

您可以使用中的回調(diào)Pool.apply_async。

這樣的事情應(yīng)該可以為您完成工作。

from multiprocessing import Pooldef part_crack_helper(args): solution = do_job(args) if solution:return True else:return Falseclass Worker(): def __init__(self, workers, initializer, initargs):self.pool = Pool(processes=workers, initializer=initializer, initargs=initargs) def callback(self, result):if result: print 'Solution found! Yay!' self.pool.terminate() def do_job(self):for args in product(seed_str, repeat=4): self.pool.apply_async(part_crack_helper, args=args, callback=self.callback)self.pool.close()self.pool.join()print 'good bye'w = Worker(num_proc, init, [total_count])w.do_job()解決方法

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

因此,我有一組工作人員在做一些工作。它只需要找到一個解決方案。因此,當(dāng)一個工作進程找到解決方案時,我想停止一切。

我想到的一種方法是只調(diào)用sys.exit()。但是,由于其他進程正在運行,因此似乎無法正常工作。

另一種方法是檢查每個進程調(diào)用的返回值(part_crack_helper函數(shù)的返回值),然后在該進程上終止調(diào)用。但是,我不知道在使用該map函數(shù)時該怎么做。

我應(yīng)該如何實現(xiàn)?

標簽: Python 編程
主站蜘蛛池模板: 国产91精品久久久久久久网曝门 | 91原创视频在线观看 | 亚洲成人免费 | 欧美高清成人 | 妞干网福利视频 | 国产精品久久久久久久久久久免费看 | 亚洲视频三区 | 国产区在线观看 | 欧洲视频一区二区 | 日日摸夜夜添夜夜添精品视频 | 中文字幕在线播放不卡 | 高清视频一区二区三区 | 欧美一级二级三级视频 | 午夜电影福利 | 久草新在线| 全免费a级毛片免费看视频免 | 精品国模一区二区三区欧美 | 中国一级特黄视频 | 在线欧美一区 | 成人在线中文字幕 | 欧美aaa一级片 | 久久亚洲精品国产精品紫薇 | 91久久 | 动漫www.被爆羞羞av44 | 日操操 | 天天草夜夜骑 | 日韩手机视频 | 91久久国产精品 | 国外成人在线视频 | 国产精品不卡一区 | 一级免费在线视频 | 久久久五月天 | 日本a在线 | 亚洲欧美日韩国产综合 | 久久不卡| 亚洲 欧美 日韩 在线 | 中文字幕亚洲视频 | 国产欧美精品 | 福利视频二区 | 亚洲高清电影 | 欧美精品久久久久久 |