Любая конкретная причина, по которой это происходит?
Код: Выделить всё
async def greet():
print("Greet: Hello")
await asyncio.sleep(1)
print("Greet: World")
async def countdown():
print("Countdown: 3")
await greet()#sleep(0.5)
print("Countdown: 2")
await asyncio.sleep(0.5)
print("Countdown: 1")
async def main():
# Run both coroutines concurrently
await asyncio.gather(greet(), countdown())
asyncio.run(main())
Greet: Hello
Countdown: 3
Greet: Hello
Greet: World
Greet: World
Countdown: 2
Countdown: 1
код трио < /h3>
Код: Выделить всё
import trio
async def greet():
print("Greet: Hello")
await trio.sleep(1)
print("Greet: World")
async def countdown():
print("Countdown: 3")
await greet()
print("Countdown: 2")
await trio.sleep(0.5)
print("Countdown: 1")
async def main():
async with trio.open_nursery() as nursery:
nursery.start_soon(greet)
nursery.start_soon(countdown)
trio.run(main)
Countdown: 3
Greet: Hello
Greet: Hello
Greet: World
Countdown: 2
Greet: World
Countdown: 1
Я хочу понять, почему эта разница. Значит ли это трио, действительно не заботится о том, какой заказ он выполняет коратики, а асинсио?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... -execution