最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python如何使用多线程执行多个函数?

    正文概述    2020-04-15   257

    之前小编给大家介绍了用python去返回了一个值,立马就有小伙伴跟小编留言说道“能都执行多个内容?”于是,小编就给大家整理最细致,也是最简单的实现方法,方便大家理解学习,一起来看下吧~

    直接上代码,多线程同时执行多个函数代码如下:

    import time
    import os
    import threading
     
     
    def open_calc():
        with open('test.txt', 'r') as f:
            for line in f.readlines():
                while 'hello' in line:
                    os.system("calc.exe")
                    # 如果字符串已经出现并已经执行命令,则终止程序,否则会一直执行命令
                    return
            # 等for循环判断完没有标识后再休眠重新调用该函数
            print('没有找到启动标识:hello,等5秒再检测')
            time.sleep(5)
            # 再次调用函数
            open_calc()
     
     
    def open_mstsc():
        with open('test.txt', 'r') as f:
            for line in f.readlines():
                while 'abc' in line:
                    os.system("mstsc.exe")
                    # 如果字符串已经出现并已经执行命令,则终止程序,否则会一直执行命令
                    return
            # 等for循环判断完没有标识后再休眠重新调用该函数
            print('没有找到启动标识:abc,等6秒再检测')
            time.sleep(6)
            # 再次调用函数
            open_mstsc()
     
     
    if __name__ == '__main__':
        # 使用threading模块,threading.Thread()创建线程,其中target参数值为需要调用的方法,同样将其他多个线程放在一个列表中,遍历这个列表就能同时执行里面的函数了
        threads = [threading.Thread(target=open_calc),
                   threading.Thread(target=open_mstsc)]
        for t in threads:
            # 启动线程
            t.start()

    知识拓展——多线程

    使用threading模块里面的Thread类创建出实例对象,然后通过start()方法真正的去产生一个新的线程。

    解释器中来执行代码的叫做主线程。

    通过start()方法创建出来的叫做子线程。

    主线程会等待子线程全部结束之后才会结束。

    当调用Thread的时候,不会创建线程,当调用Thread创建出来的实例对象的start()方法的时候才会创建线程以及让这个线程开始运行。

    查看当前线程:

    利用threading里面的enumerate()函数就能返回一个列表,当前的线程作为单个元素存放在列表之中。

    以上就是实现的全部内容了哦~大家在做项目时候,可以直接调用呢~如果还想知道更多的python知识,可以到python学习网进行查询。


    起源地下载网 » python如何使用多线程执行多个函数?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元