1. 程式人生 > >python學習筆記(63) 執行緒池

python學習筆記(63) 執行緒池

submit(fn,*args,**kwargs)  # 非同步提交任務

map(fn,iterable)  # 拿不到返回值

shutdown()  # 相當於pool.close()加pool.join() 操作

result()  # 取得結果

add_done_callback()  # 回撥函式

 

import time
from concurrent.futures import ThreadPoolExecutor

def func(n):
time.sleep(2)
print(n)
return n*n

def callback(m):
print('結果是%s'%m.result())

tpool = ThreadPoolExecutor(max_workers=5)
t_lst = []
for i in range(20):
t = tpool(func,i).add_done_callback(callback)
t_lst.append(t)

tpool.shutdown()
print('主執行緒')
for i in t_lst:
print('***'+i.result())