线程池

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)

 

posted @ 2018-09-11 09:37  Woowo  阅读(95)  评论(0编辑  收藏  举报