• 技术文章 >Python技术 >Python基础教程

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

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    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()

    知识拓展——多线程

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

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

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

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

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

    查看当前线程:

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

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

    专题推荐:python多线程执行多个函数
    上一篇:python中实现多线程有几种方式? 下一篇:有哪些适合Python零基础的教程视频?

    相关文章推荐

    • 如何用python tkinter插入显示图片?• 如何快速掌握python选择排序算法?• python中实现多线程有几种方式?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网