线程池

线程池异步并发

import time
from concurrent.futures import ThreadPoolExecutor


def task(i):
    print('task {} start'.format(i))
    time.sleep(i)
    print('task {} end'.format(i))
    return i

# 定义一个线程池
pool = ThreadPoolExecutor(3)

start = time.time()

future_list = []
for i in range(1, 10):
    # 线程池技术实现异步,完成并发
    future = pool.submit(task, i)
    future_list.append(future)

# 阻塞
pool.shutdown()

print('future_list:', [future.result() for future in future_list])
print('耗时: {} s'.format(time.time() - start))

Last updated