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

之前的一篇文章:Python多线程编程——多线程基础介绍,主要介绍了线程的基本知识,以及使用Python创建线程的一个简单的方法。
在之前的一篇文章的基础之上,给大家介绍使用Python进行多线程编程的时候,创建多个线程的两个方法。
一、使用函数来创建线程
使用函数来创建线程,顾名思义,就是我们把要完成的任务封装成一个个函数,然后使用 threading 库中的 threading.Thread(target=) 函数来创建线程,其中传给target的就是我们创建的函数。
比如我们要创建两个线程,一个线程用来执行 写字 这个任务,一个线程用来执行 绘画 这个任务,那么就可以将这两个任务封装成函数,然后再进行创建进程。示例代码如下:
import time import threadingdef 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 函数里面。
【Python多线程编程——创建线程的两个方法】最后使用类来创建线程,示例代码如下:
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多线程编程——创建线程的两个方法
文章图片

    推荐阅读