Python学习之路(八)-多线程和多进程浅析
在 Python 中,多线程(Multithreading) 和 多进程(Multiprocessing) 是实现并发编程的两种主要方式。它们各有优劣,适用于不同的场景。
一、基本概念
特性 | 多线程(threading ) | 多进程(multiprocessing ) |
---|---|---|
并发模型 | 线程共享内存空间 | 每个进程拥有独立内存空间 |
GIL(全局解释器锁) | 受限于 GIL,同一时间只有一个线程执行 Python 字节码 | 不受 GIL 影响 |
资源消耗 | 小(轻量级) | 大(每个进程独立运行) |
启动速度 | 快 | 慢 |
进程/线程间通信 | 需要同步机制(如 Lock) | 支持多种 IPC(管道、队列等) |
适用场景 | I/O 密集型任务 | CPU 密集型任务 |
二、原理
1. 多线程(threading
)
工作原理:
- 所有线程共享同一个进程的内存空间
- 使用
GIL(Global Interpreter Lock)
来保证同一时刻只有一个线程执行 Python 字节码 - Python 的线程是操作系统原生线程封装而来
示例代码:
import threadingdef worker():print("Worker thread&#