import time
import random
from multiprocessing import Pool
def fun(name):
print(f'{name} 运行')
time.sleep(random.randrange(5,15))
print(f'{name} 运行结束')
if __name__ == '__main__':
pool = Pool(processes=2)
names = ['anne','alice','biantai','haha']
for name in names:
pool.apply_async(fun,(name,))
pool.close()
pool.join()
print('主线程')
我想要如果进程时间超过 10s 就结束掉,打印超时提示,然后让新进程执行,超时的进程放后面再执行,最后让所有的进程都在 10s 内成功运行完成,有什么优雅的方法吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.