我正在使用python中的Asyncio进行实验,并想到如果调用2个不同的Asyncio函数同时运行到非异步函数会发生什么。 所以这样做了吗?
def calc(number):
while True:
return(number * number)
async def one():
while True:
a = calc(5)
print(a)
await asyncio.sleep(0)
async def two():
while True:
a = calc(2)
print(a)
await asyncio.sleep(0)
if __name__=='__main__':
import os
import uvloop
import asyncio
loop = uvloop.new_event_loop()
asyncio.set_event_loop(loop)
loop.create_task(one())
loop.create_task(two())
loop.run_forever()
我以为程序会在cal函数中冻结(while循环),但程序同时打印结果。任何人都可以解释为什么这不会卡在while循环中,谢谢。
`