Python 异步编程:从 asyncio 到 Tornado
1. 使用 asyncio 进行任务操作
asyncio 模块提供了 asyncio.Task() 方法来通过任务处理协程。 asyncio.Task 类是 asyncio.Future 的子类,旨在管理协程。任务负责在事件循环中执行协程对象。当协程被包装在任务中时,它会将任务连接到事件循环,并在循环启动时自动运行,从而提供了一种自动驱动协程的机制。
示例代码
以下是一个使用 asyncio 处理任务的示例代码,可在 asyncio_task.py 文件中找到:
#!/usr/bin/python3
import asyncio
import time
@asyncio.coroutine
def task_sleep(name, loop, seconds=1):
future = loop.run_in_executor(None, time.sleep, seconds)
print("[%s] coroutine will sleep for %d second(s)..." % (name, seconds))
yield from future
print("[%s] done!" % name)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
task
Python异步编程实战指南
超级会员免费看
订阅专栏 解锁全文
99

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



