118-python-线程池
"""
# result() # 拿到返回值
# max_workers # 开启几个线程
# add_done_callback # 启用回调函数
# map # 拿不到返回值
# 参数1:函数名
# 参数2:可迭代的
# shutdown()
# 相当于执行了 close , join
"""
import time from concurrent.futures import ThreadPoolExecutor def fn(n): time.sleep(2) print(n) return n*n def call_back(m): # 线程池的回调函数 print('结果是:%s'%m.result()) tpool = ThreadPoolExecutor(max_workers=5) # 不要超过 cup 的个数 * 5 # tpool.map(fn,range(20)) # 拿不到返回值 for i in range(20): tpool.submit(fn,i).add_done_callback(call_back) # 调用 callback # t_lis = [] # for i in range(20): # t = tpool.submit(fn,i) # t_lis.append(t) # tpool.shutdown() # 相当于执行了 close , join # print('主线程') # for t in t_lis: # print('***',t.result())