python循环执行协程多任务
时间: 2023-09-12 07:12:34 浏览: 81
在Python中可以使用协程实现多任务,协程是一种轻量级的线程,可以在一个线程中实现多个任务的并发执行。
下面是一个简单的示例,其中使用asyncio模块创建了两个协程函数,然后使用asyncio.gather()方法并发执行这两个协程函数:
```python
import asyncio
async def task1():
for i in range(5):
print("Task 1 executed")
await asyncio.sleep(1)
async def task2():
for i in range(5):
print("Task 2 executed")
await asyncio.sleep(1)
async def main():
await asyncio.gather(task1(), task2())
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
在这个示例中,task1和task2都是协程函数,使用async关键字定义。在这两个协程函数中,我们使用了await语句来暂停协程的执行,并在一秒钟后再次恢复协程的执行。
在main()函数中,我们使用asyncio.gather()方法并发执行task1和task2协程函数。asyncio.gather()方法返回一个协程,我们需要使用await关键字来等待这个协程的执行完成。
最后,我们使用asyncio.get_event_loop()方法获取一个事件循环对象,然后使用loop.run_until_complete()方法来运行main()协程函数。
这样,就可以通过协程实现循环执行多个任务的效果。
阅读全文