进程池线程池
Posted saoqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程池线程池相关的知识,希望对你有一定的参考价值。
进程池,线程池
什么是池
# 要在程序开始的时候,还没提交任务先创建固定数量的进程或线程 放在一个池子里,这就是池
为什么要用池?
# 如果先开好进程/线程,那么有任务之后就可以直接使用这个池中的数据了
# 并且开好的线程或者进程会一直存在在池中 处理完毕进程并不关闭,可以被多个任务反复利用
# 这样极大的减少了开启关闭调度线程/进程的时间开销
# 池中的线程/进程个数控制了操作系统需要调度的任务个数,控制池中的单位
# 有利于提高操作系统的效率,减轻操作系统的负担
开启一个池
from concurrent.futures import ProcessPoolExecutor#引用的模块
from concurrent.futures import ThreadPoolExecutor
import time
import os
import random
def task(name):
print(name)
print(f'{os.getpid()} 准备接客')
time.sleep(random.randint(1,3))
if __name__ == '__main__':
p = ThreadPoolExecutor() # 线程默认cup数*5 ,进程cup数
for i in range(23):
p.submit(task,1) # 给进程池放任务,传参
以上是关于进程池线程池的主要内容,如果未能解决你的问题,请参考以下文章