总结一下自己学习python线程池的用法
from concurrent.futures import ThreadPoolExecutor import time #需要使用线程的函数 def func(name): print(name,'start') time.sleep(3) print(name,'end') if __name__ == '__main__': #记录时间用 start_time=time.time() #开启线程池,其中3代表线程个数 with ThreadPoolExecutor(3) as t: #需要调用50次函数,也可以换参数传递 for i in range(50): t.submit(func,name=i) #括号中第一个是调用的函数名称,不加括号,后面是函数的参数,可以传递多个 #输出一下好事 print(time.time()-start_time)
1、首先要导入包
from concurrent.futures import ThreadPoolExecutor
2、然后主代码块
with ThreadPoolExecutor(3) as t: for i in range(50): t.submit(func,name=i)
第一行3代表线程数,第二行50代表调用函数的次数,第三行代表开启线程,括号中第一个函数名称,第二开始传递参数
优点:线程可以加快50次函数运行速度,开的越多,感觉50函数运行完的越快
缺点:目前不会调用函数返回值的传递,需要进一步学习
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)