英文原版: http://www.disinterest.org/resource/stackless/2.6.4-docs-html/stackless-python.html
Stackless Python
Stackless Python 是Python语言的一个增强版本。它让程序员可以获得基于线程的程序的优点,同时又避免传统线程带来的性能和复杂度问题。Stackless Python为Python语言添加的微线程(microthread)是一种方便、廉价、轻量级的工具,如果使用得当,它不仅可以提供一种构建应用程序或者框架的方法,而且能改进程序的结构和可读性。
如果你在你安装的Python附带的文档中读到这篇文章,这说明你安装的已经是Stackless Python而非标准的Python。
1. 概述
除了Stackless Python新增的功能部分,Stackless Python的其他部分的行为和标准的Python完全一样,用法也完全一样。Stackless的新增的功能,是通过stackless模块暴露出来的框架来使用的。
- stackless — 内置的扩展模块
- 小任务(Tasklet) — 轻量级的线程
- 小任务、main、current等
- tasklet类
- 通道(Channel) — 小任务之间的通讯
- 通道与线程
- channel类
- 调度器 — 小任务如何运行
- 合作式调度(Cooperative scheduling)
- 抢占式调度(Pre-emptive scheduling)
- 异常
- 调试与跟踪 — Stackless有什么不同
- settrace与小任务
- 线程 — 线程与Stackless
- 每线程一个调度器
- 通道是线程安全的
- Pickling — 运行中的小任务的序列化
- 函数
- 属性
- 异常
- 小任务(Tasklet) — 轻量级的线程
2. 你需要知道的
2.1. 阻塞的操作
2.2. 异常
2.3. 调试
3. 外部资源