美文网首页
Python多线程编程——创建线程的两个方法

Python多线程编程——创建线程的两个方法

作者: 振礼硕晨 | 来源:发表于2018-10-19 13:50 被阅读0次

    之前的一篇文章:Python多线程编程——多线程基础介绍,主要介绍了线程的基本知识,以及使用Python创建线程的一个简单的方法。
    在之前的一篇文章的基础之上,给大家介绍使用Python进行多线程编程的时候,创建多个线程的两个方法。

    一、使用函数来创建线程

    使用函数来创建线程,顾名思义,就是我们把要完成的任务封装成一个个函数,然后使用 threading 库中的 threading.Thread(target=) 函数来创建线程,其中传给target的就是我们创建的函数。

    比如我们要创建两个线程,一个线程用来执行 写字 这个任务,一个线程用来执行 绘画 这个任务,那么就可以将这两个任务封装成函数,然后再进行创建进程。示例代码如下:

    import time
    import threading
    
    
    def writing():
        print("我正在写字")
        time.sleep(1)  # 沉睡1秒,方便我们看到执行的过程
    
    
    def drawing():
        print("我正在绘画")
        time.sleep(1)  # 沉睡1秒,方便我们看到执行的过程
    
    
    def main():
        t1 = threading.Thread(target=writing)  # 创建线程t1
        t2 = threading.Thread(target=drawing)  # 创建线程t2
        t1.start()  # 开始线程
        t2.start()  # 开始线程
        time.sleep(1)  # 沉睡1秒,方便我们看到执行的过程
    
    
    if __name__ == '__main__':
        main()
        main()
        main()
    

    二、使用类来创建线程

    除了使用函数来创建线程外,我们还可以使用类来创建线程。而且在实际的应用中,我们大多数情况下是使用类来创建线程,这样更好的体现出封装的概念。

    与上面一样,我们要创建两个线程,分别用来执行 写字 任务和 绘画 任务。我们就可以创建写字和绘画的类。注意,这两个类是继承自 threading.Thread 类的,类创建好之后,我们要重写其中的 run 函数,把我们需要完成的动作写在 run 函数里面。

    最后使用类来创建线程,示例代码如下:

    import time
    import threading
    
    
    # 创建继承自threading.Thread的类,并重写其中的run函数
    class Writing(threading.Thread):
        def run(self):
            print("我正在写字")
    
    
    # 创建继承自threading.Thread的类,并重写其中的run函数
    class Drawing(threading.Thread):
        def run(self):
            print("我正在绘画")
    
    
    def main():
        t1 = Writing()  # 使用类来创建线程
        t2 = Drawing()  # 使用类来创建线程
        t1.start()
        t2.start()
    
        time.sleep(1)
    
    
    if __name__ == '__main__':
        main()
        main()
        main()
    

    三、最终的效果展示

    相关文章

      网友评论

          本文标题:Python多线程编程——创建线程的两个方法

          本文链接:https://www.haomeiwen.com/subject/itajzftx.html