当前位置:首页>python>Python基础篇 - 多线程-线程的创建

Python基础篇 - 多线程-线程的创建

  • 2026-10-11 08:41:14
Python基础篇 - 多线程-线程的创建
多线程-线程的创建

在上次的文章Python基础篇 - 多进程-进程的创建中,我们认识了多进程创建的基本方式。今天的Python基础篇知识将介绍多线程的创建。 

  关于进程与线程的概念,在文章Python基础篇 - 进程与线程、并发与并行有详细的介绍,再简述一遍就是:

1.线程是处理器任务调度和执行的基本单位。

 2.一个进程包含至少一个线程,一个进程相当于一个独立工厂,线程相当于工厂内部的多条流水线。

 3.多个线程间可以共享数据,这与多进程是不同的。简单理解下就是一个工厂内部的流水线是相通的。

 4.所谓多线程就是在一个进程中,运行着多个线程。一个工厂里面流通着多条流水线。

一.基于threading模块创建多线程

 主要流程:

  1.定义任务函数(线程要执行的代码)

  2.实例化Thread类,指定target目标函数、args参数

  3.调用start()启动线程

  4.调用join()主线程等待子线程结束

# 基于threading模块创建多线程import threadingimport time# 1.定义线程要执行的任务函数# 实际任务会是不同的具体任务,这里只是模拟一下,理解概念def work(name):    print(f"子线程{name}开始执行")    time.sleep(2)  # 模拟任务耗时    print(f"子线程{name}执行完毕")if __name__ == "__main__":    print("主线程开始")    # 1.创建子线程对象    # target参数为任务函数    # args参数为任务函数所需的参数元组    t1 = threading.Thread(target=work, args=("线程1",))    t2 = threading.Thread(target=work, args=("线程2",))    # 2.启动线程    t1.start()    t2.start()    # 3.等待线程执行结束    t1.join()    t2.join()    print("主线程结束")

二.基于自定义Thread子类创建多线程

当然,我们还可以通过继承Thread父类,实现一个子类,从而达到创建多线程的目的。

主要流程:

  1.自定义子类,继承threading.Thread

  2.重写__init__初始化方法(必须调用父类初始化)

  3.重写run()方法(线程真正要执行的任务写在这里)

  4.创建自定义类对象,调用start()启动线程

# 自定义Thread子类实现多线程import threadingimport time# 1.自定义线程子类,继承Threadclass MyThread(threading.Thread):    # 重写初始化方法    def __init__(self, name):        super().__init__()  # 必须调用父类初始化        self.name = name    # 重写run方法:线程核心任务逻辑    def run(self):        print(f"子线程{self.name}开始执行")        time.sleep(2)        print(f"子线程{self.name}执行完毕")if __name__ == "__main__":    print("主线程开始")    # 1.创建自定义线程对象    t1 = MyThread("自定义线程1")    t2 = MyThread("自定义线程2")    # 2.启动线程    t1.start()    t2.start()    # 3.等待线程结束    t1.join()    t2.join()    print("主线程结束")

总结:今日我们学习了Python基础篇-多线程-线程的创建。多线程属于轻量级并发操作,线程之间共享全局变量,开销远小于多进程。我们认识了第一种创建Thread对象方法去创建线程,适合简单临时任务;第二种继承Thread子类并重写run()方法,适合复杂项目封装。线程必须调用start()启动、join()等待执行完毕,进一步夯实了多线程并发编程的基础认知。在Python基础篇,后续我们将持续学习Python基础知识,介绍各种算法,祝每一位study er学习愉快。

合集链接
这里是我滴合集内容链接,大家感兴趣就康康吧。
1. 人工智能进阶之路 - 机器学习篇
2.人工智能进阶之路 - 深度学习篇
3. AI发展前点
4. 人工智能进阶之路-Python基础篇
5. 充电er的乱坠闲聊
6. Origin认知
点个 赞 你最好看

最新文章

随机文章