Python 并发与脚本编程实用指南
1. 生成器作为线程替代方案
在 Python 编程中,生成器可作为线程的替代方案,实现并发操作。以下是一段相关代码示例:
client.close()
print('Client closed')
sched = Scheduler()
EchoServer(('',16000),sched)
sched.run()
这段代码实际上实现了一个小型的操作系统,包含待运行任务队列和等待输入输出的任务区域。调度器的主要工作是在这两个区域之间移动任务。
1.1 协程与 yield 的使用
在创建基于生成器的并发框架时,常使用更通用的 yield 形式:
def some_generator():
...
result = yield data
...
这种使用 yield 的函数常被称为“协程”。在调度器内部,yield 指令在循环中处理:
f = some_generator()
# 初始结果,开始时为 None,因为还未计算任何内容
result = None
while True:
try:
data = f.send(result)
result = ... do some calculation ...
except S
订阅专栏 解锁全文
1305



被折叠的 条评论
为什么被折叠?



