python中线程池的基本使用

本文介绍了如何使用Python的concurrent.futures模块中的ThreadPoolExecutor进行多线程操作。通过示例展示了创建线程池、指定线程数量、调用函数及参数传递的过程。线程池能够加速函数调用,提高运行效率,但需要注意无法直接获取函数返回值,需进一步学习。
摘要由CSDN通过智能技术生成

总结一下自己学习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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值