Python线程池和进程池

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 线程池:一次性开辟一些线程,我们用户直接给线程池提交任务,线程任务的调度交给线程池来完成
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor

def fn(name):
for i in range(1000):
print(name, i)

if __name__ == '__main__':
# 创建线程池
with ThreadPoolExecutor(50) as t:
for i in range(100):
t.submit(fn, name=f"线程{i}")

print("OK!") # 等待线程池中的任务全部执行完毕,才继续执行(线程守护)

上面的代码中线程池中有50个线程,相当于有50条流水线,我们需要开辟100条线程,每条线程都需要打印1-1000个数

等线程池中的线程都执行完了之后才执行外面的代码。