【发布时间】:2018-10-31 20:03:47
【问题描述】:
我正在使用星图来运行测试功能。
当进程首先找到排列 [5,2,4,3,1] 时,终止所有进程的最佳/最安全方法是什么?
import multiprocessing as mp
import time
def testing(lts):
# code ....
start_time = time.time()
for x in range(1,500000):
gg = [1,2,3,4,5]
random.shuffle(gg)
### if gg==[5,2,4,3,1] terminate all processes
total_time = time.time() - start_time
return total_time
if __name__ == '__main__':
with mp.Pool(processes=4) as pool:
ret = pool.starmap(testing, [(lst,) for x in range(4)])
【问题讨论】:
-
使用可以设置/测试并退出循环的托管变量。
-
我确实尝试设置一个全局变量并将其设置为 true,然后在我使用的函数内部 if _FINISH: break but no joy ...它不会停止
标签: python parallel-processing multiprocessing starmap