多线程是Python中实现并发编程的重要方式,适合处理I/O密集型任务。以下是关键知识点梳理:
1. 核心概念
- 线程:轻量级进程,共享同一进程的内存空间
- GIL(全局解释器锁):CPython中限制同一时间只有一个线程执行
- 线程安全:需通过锁(
threading.Lock
)避免数据竞争 - 线程池:通过
concurrent.futures.ThreadPoolExecutor
管理资源
2. 基本使用
import threading
def worker():
print("线程正在运行")
# 创建线程
t = threading.Thread(target=worker)
t.start()
t.join()
- Thread类:
target
指定执行函数,args
传参 - 守护线程:设置
daemon=True
让线程在主程序退出时自动结束 - 线程同步:使用
Lock
/RLock
控制共享资源访问
3. 进阶技巧
- 线程通信:通过
Queue
实现线程间数据传递 - 定时任务:使用
Timer
类设置延迟执行 - 线程优先级:通过
set_priority()
调整调度顺序
⚠️ 注意:Python多线程在CPU密集型任务中效率有限,建议配合
multiprocessing
或异步IO使用