什么是线程?
线程是Python中实现并发编程的核心机制,允许程序同时执行多个任务。通过多线程,可以提高程序的执行效率,尤其在IO密集型操作中表现突出。
线程使用示例
1. 创建线程
使用threading.Thread
创建线程,示例代码如下:
import threading
def task(name):
print(f"执行任务: {name}")
t1 = threading.Thread(target=task, args=("任务A",))
t2 = threading.Thread(target=task, args=("任务B",))
t1.start()
t2.start()
2. 线程同步
通过threading.Lock
实现线程安全:
lock = threading.Lock()
def safe_task(name):
with lock:
print(f"安全执行任务: {name}")
t1 = threading.Thread(target=safe_task, args=("任务A",))
t2 = threading.Thread(target=safe_task, args=("任务B",))
t1.start()
t2.start()
注意事项 ⚠️
- GIL限制:Python的全局解释器锁(GIL)使得多线程在CPU密集型任务中无法真正并行,建议使用多进程或异步编程替代。
- 资源竞争:避免多个线程同时修改共享资源,必要时使用锁或队列机制。
- 异常处理:线程中的异常需通过
try-except
捕获,否则可能导致线程崩溃。