创建线程常用threading.Thread类,通过target参数传入函数或继承并重写run方法;需调用start()启动线程,join()等待结束,适合I/O密集型任务。

在 Python 中,创建线程通常使用 threading 模块,而不是旧的 thread 模块(在 Python 3 中已被重命名为 _thread,不推荐直接使用)。
1. 使用 threading.Thread 创建线程
最常用的方式是通过实例化 threading.Thread 类来创建线程。你可以将一个函数传递给 Thread 的 target 参数。
示例代码:
import threadingimport timedef worker(name): print(f"线程 {name} 开始工作") time.sleep(2) print(f"线程 {name} 工作结束")# 创建线程对象t1 = threading.Thread(target=worker, args=("A",))t2 = threading.Thread(target=worker, args=("B",))# 启动线程t1.start()t2.start()# 等待线程执行完毕t1.join()t2.join()print("所有线程已完成")
2. 继承 threading.Thread 类
你也可以通过继承 threading.Thread 类并重写 run() 方法来自定义线程行为。
示例代码:
import threadingimport timeclass MyThread(threading.Thread): def __init__(self, name): super().__init__() self.name = name def run(self): print(f"线程 {self.name} 开始运行") time.sleep(2) print(f"线程 {self.name} 结束")# 创建并启动线程t1 = MyThread("X")t2 = MyThread("Y")t1.start()t2.start()t1.join()t2.join()print("主线程结束")
3. 线程常见操作
start():启动线程,自动调用 run() 方法join():阻塞主线程,直到该线程执行完成is_alive():判断线程是否还在运行name 和 daemon:可设置线程名或守护线程
示例:检查线程状态
print(t1.is_alive()) # 返回 True 或 False
4. 注意事项
Python 的多线程受 GIL(全局解释器锁)限制,适合 I/O 密集型任务,不适合 CPU 密集型计算。如需真正并行,建议使用 multiprocessing 模块。
立即学习“Python免费学习笔记(深入)”;
基本上就这些。使用 threading.Thread 是最清晰、灵活的方式。
以上就是python thread模块创建线程的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1376120.html
微信扫一扫
支付宝扫一扫