增加每章节 README 文件
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# Python 高级编程之并发与异步
|
||||
|
||||
> 所属:阶段一 · 前置核心基础
|
||||
> 目标:理解多线程 / 多进程 / 协程三种并发模型,能为 IO 密集 vs CPU 密集任务选对工具。
|
||||
|
||||
---
|
||||
|
||||
## 📌 学习目的
|
||||
|
||||
理解多线程 / 多进程 / 协程三种并发模型,能为 IO 密集 vs CPU 密集任务选对工具。
|
||||
|
||||
## ✅ 学习要求(前置条件)
|
||||
|
||||
已完成「01_python_advanced_basics」与「02_python_advanced_syntax」。
|
||||
|
||||
## 📚 主要学习内容
|
||||
|
||||
- GIL 的影响与绕过(多进程 vs C 扩展)
|
||||
- `threading` 线程池 / `concurrent.futures`
|
||||
- `multiprocessing` 进程池与共享状态
|
||||
- `asyncio`:事件循环 / `async/await` / Task / gather
|
||||
- 异步上下文与同步代码互操作:`asyncio.to_thread` / `run_in_executor`
|
||||
|
||||
## 📖 对应 docs
|
||||
|
||||
- 目录:[`docs/01-阶段一-前置核心基础/`](../../docs/01-阶段一-前置核心基础/)(按目录名里的 `第 X 篇` 对应)
|
||||
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
|
||||
|
||||
## 🛠️ 建议练习
|
||||
|
||||
- [ ] 用线程池并发抓取 10 个 URL 的标题并计时
|
||||
- [ ] 用 `asyncio.gather` 并发调用 5 个模拟 LLM 接口
|
||||
- [ ] 对比多线程 / 多进程 / 协程在 IO 密集任务上的耗时差异
|
||||
|
||||
## 🏁 完成后达成标准
|
||||
|
||||
- [ ] 能说清 IO 密集用 asyncio,CPU 密集用 multiprocessing
|
||||
- [ ] 能写正确的 `async/await` 代码并处理并发异常
|
||||
- [ ] 能将同步阻塞调用丢进线程池不阻塞事件循环
|
||||
|
||||
---
|
||||
|
||||
## 🚀 运行提示
|
||||
|
||||
```bash
|
||||
# 激活根目录的虚拟环境
|
||||
cd /Users/jack/source/Demo/py/demo_python_agent
|
||||
source .venv/bin/activate # 或直接用 uv run ...
|
||||
|
||||
# 进入本章目录
|
||||
cd code/001_phase1_foundations/03_python_concurrency_async
|
||||
|
||||
# 跑你的练习文件
|
||||
uv run python your_exercise.py
|
||||
```
|
||||
Reference in New Issue
Block a user