concurrent模块
concurrent是Python的池模块,包含进程池和线程池
进程池
import os
from concurrent.futures import ProcessPoolExecutor
def func():
print('当前进程pid:', os.getpid())
if __name__ == '__main__':
p = ProcessPoolExecutor(5) # 创建一个进程池,池中有5个进程
for i in range(10):
p.submit(func) # 往进程池提交任务
代码运行结果,进程号只有5个不一样
当前进程pid: 5720
当前进程pid: 10724
当前进程pid: 5720
当前进程pid: 5720
当前进程pid: 1012
当前进程pid: 10724
当前进程pid: 5720
当前进程pid: 10724
当前进程pid: 1012
当前进程pid: 8032
线程池
from concurrent.futures import ThreadPoolExecutor
def func(i):
print('saiya06', i)
if __name__ == '__main__':
p = ThreadPoolExecutor(5) # 创建一个线程池,池中有5个线程
for i in range(10):
p.submit(func, i) # 往线程池提交任务
saiya06 0
saiya06 1
saiya06 2
saiya06 3
saiya06 4
saiya06 5
saiya06 6
saiya06 7
saiya06 8
saiya06 9
浙公网安备 33010602011771号