我不知道该怎么用安乔.你能帮我解决这个问题吗?假设我有一个IO任务,它需要8秒,我把它放在协程任务()中.我想运行一个无限循环,每5秒执行一次,而不阻塞我的代码.
import asyncio
async def task():
print('starting task')
await asyncio.sleep(8)
print('finished task')
async def main():
count = 0
while True:
print(count)
if count % 5 == 0:
print('running task')
await task()
count += 1
await asyncio.sleep(1)
asyncio.run(main())
根据我对文档的理解,当我在task
协同程序中执行await
时,它应该返回到执行main
,但这并没有发生.我做错什么了?我的输出是
0
running task
starting task
finished task
1
2
3
4
5
running task
starting task
finished task
6
7
8
9
10