用Python演示一下协程
时间: 2023-03-26 11:00:53 浏览: 95
实例讲解python中的协程
好的,以下是用 Python 演示协程的代码:
```python
import asyncio
async def coroutine1():
print("Coroutine 1 started")
await asyncio.sleep(2)
print("Coroutine 1 ended")
async def coroutine2():
print("Coroutine 2 started")
await asyncio.sleep(1)
print("Coroutine 2 ended")
async def main():
print("Main started")
await asyncio.gather(coroutine1(), coroutine2())
print("Main ended")
asyncio.run(main())
```
这段代码定义了两个协程 `coroutine1` 和 `coroutine2`,它们分别会打印一些信息,然后暂停一段时间。`main` 函数会同时运行这两个协程,并在它们都结束后打印一条信息。运行这段代码,你会看到如下输出:
```
Main started
Coroutine 1 started
Coroutine 2 started
Coroutine 2 ended
Coroutine 1 ended
Main ended
```
可以看到,这两个协程是交替执行的,而不是像普通函数那样按顺序执行。这就是协程的特点:它们可以在执行过程中暂停,等待某些事件的发生,然后再继续执行。这种方式可以让程序更加高效地利用 CPU 和 I/O 资源,从而提高性能。
阅读全文