Erlo

python如何使用多线程执行多个函数?

时间:2021-01-14   阅读:9次   来源:jQuery中文网
页面报错
点赞

之前小编给大家介绍了用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学习网进行查询。

您可能感兴趣的文章:

评论留言

还没有评论留言,赶紧来抢楼吧~~

吐槽小黑屋()

* 这里是“吐槽小黑屋”,所有人可看,只保留当天信息。

  • Erlo吐槽

    Erlo.vip2021-01-27 21:28:20Hello、欢迎使用吐槽小黑屋,这就是个吐槽的地方。
  • 返回顶部

    给这篇文章打个标签吧~

    棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认