【发布时间】:2018-05-29 20:35:17
【问题描述】:
我有以下代码
import asyncio
loop = asyncio.get_event_loop()
async def while_loop():
n = 0
while True:
print(f"{n}")
await asyncio.sleep(2)
n = n+1
async def some_func():
await asyncio.sleep(5)
print("Some Func")
future = loop.create_task(while_loop())
loop.run_until_complete(some_func())
我预计while_loop 函数会永远运行,但它似乎只是由于调用run_until_complete 而执行,并且一旦some_func 完成执行,它就会停止打印while 循环。我看到的输出是:
0
1
2
Some Func
我预计即使在 some_func 完成后,这些数字也会继续打印。
0
1
2
Some Func
3
4
5
6
.
.
.
打印更多号码的唯一方法是再次致电some_func。
【问题讨论】:
标签: python python-3.x python-asyncio