import time
from concurrent.futures import ThreadPoolExecutor
def func(n):
time.sleep(2)
print(n)
return n*n
tpool = ThreadPoolExecutor(max_workers=5)
t_lst = []
for i in range(20):
t = tpool.submit(func,i)
t_lst.append(t)
tpool.shutdown()
print('主线程')
for t in t_lst: print('结果:',t.result())
import time
from concurrent.futures import ThreadPoolExecutor
def func(n):
time.sleep(2)
print(n)
return n*n
tpool = ThreadPoolExecutor(max_workers=5)
tpool.map(func,range(20))
import time
from concurrent.futures import ThreadPoolExecutor
def func(n):
time.sleep(2)
print(n)
return n*n
tpool = ThreadPoolExecutor(max_workers=5)
t_lst = []
for i in range(20):
t = tpool.submit(func,i)
t_lst.append(t)
# tpool.shutdown()
print('主线程')
for t in t_lst: print('结果:',t.result())
import time
from concurrent.futures import ThreadPoolExecutor
def func(n):
time.sleep(2)
print(n)
return n*n
def call_back(m):
print('结果是%d'%m.result())
tpool = ThreadPoolExecutor(max_workers=5)
for i in range(20):
tpool.submit(func,i).add_done_callback(call_back)