用Python演示一下协程
时间: 2023-03-25 20:00:24 浏览: 53
协程是一种轻量级的并发编程方式,可以在单线程内实现多任务并发执行。在Python中,可以使用asyncio模块来实现协程。
下面是一个简单的示例代码,演示了如何使用协程来实现异步任务的执行:
```python
import asyncio
async def task1():
print("Task 1 started")
await asyncio.sleep(1)
print("Task 1 finished")
async def task2():
print("Task 2 started")
await asyncio.sleep(2)
print("Task 2 finished")
async def main():
print("Main started")
await asyncio.gather(task1(), task2())
print("Main finished")
asyncio.run(main())
```
在这个示例中,我们定义了两个异步任务task1和task2,它们分别打印一些信息并等待一段时间。然后我们定义了一个主函数main,它使用asyncio.gather来同时执行这两个任务。最后我们使用asyncio.run来运行主函数。
运行这个程序,输出结果如下:
```
Main started
Task 1 started
Task 2 started
Task 1 finished
Task 2 finished
Main finished
```
可以看到,两个任务是同时执行的,而不是按顺序执行的。这就是协程的优势所在,可以让多个任务并发执行,提高程序的效率。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)