python 协程类
时间: 2023-06-21 17:21:19 浏览: 101
基于python生成器封装的协程类
在 Python 中,协程是通过 async/await 语法实现的。在 asyncio 模块中,可以使用 asyncio.create_task() 函数或 asyncio.ensure_future() 函数来创建协程任务。
下面是一个使用 asyncio 实现的简单协程示例:
```python
import asyncio
async def hello():
print("Hello")
await asyncio.sleep(1)
print("World")
loop = asyncio.get_event_loop()
loop.run_until_complete(hello())
```
在上面的代码中,hello() 函数是一个协程函数,使用 async/await 语法定义。在函数内部,使用 asyncio.sleep() 函数来模拟耗时操作,并且在 await 关键字后面使用它来挂起协程。在主程序中,使用 asyncio.get_event_loop() 函数获取事件循环对象,并且使用 loop.run_until_complete() 函数来运行协程任务。
除了 asyncio 模块之外,还有其他一些 Python 库可以用于实现协程,例如 gevent、trio、curio 等。这些库的使用方式和 asyncio 有所不同,但是都提供了类似于 async/await 的语法来定义协程函数。
阅读全文