多进程与多线程
00:00
threading与multiprocessing
1. 多线程
from concurrent.futures import ThreadPoolExecutor
with ThreadPoolExecutor(max_workers=4) as pool:
results = pool.map(fetch_url, urls)
2. 多进程
from multiprocessing import Pool
with Pool(4) as pool:
results = pool.map(heavy_compute, data)
3. GIL 限制
| 场景 | 推荐 |
|---|---|
| IO 密集 | 多线程/协程 |
| CPU 密集 | 多进程 |