def fun4(k):
sleep(5)
print("fun4 start...")
return k
@dct.timer("t")
def fun3():
ips = [1, 2, 3, 4, 5, 6]
p = ThreadPoolExecutor()
p.map(fun4, ips)
# 可自行设置是或否等待函数执行完成
p.shutdown(wait=False) # 不等待
# p.shutdown(wait=True) # 等待
# 会等待 ,原因是使用with语句会执行ThreadPoolExecutor的__enter__()方法,待p.map(fun4, ips)运行完后,再执行ThreadPoolExecutor
# 的__exit__()方法,此方法执行关闭线程操作,默认wait=True
with ThreadPoolExecutor(max_workers=4) as p: # 会等待5s
p.map(fun4, ips)
p.submit(fun4, 12)
print("fun3 执行完成。。。")
return 999
if __name__ == '__main__':
fun3()
执行结果: