总结一下自己学习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函数运行完的越快
缺点:目前不会调用函数返回值的传递,需要进一步学习
本文介绍了如何使用Python的concurrent.futures模块中的ThreadPoolExecutor进行多线程操作。通过示例展示了创建线程池、指定线程数量、调用函数及参数传递的过程。线程池能够加速函数调用,提高运行效率,但需要注意无法直接获取函数返回值,需进一步学习。
1767

被折叠的 条评论
为什么被折叠?



