Я так поняла что await переключает внимание цикла event_loop с одной коррутины на следующую, но в моём случае это не работает
import asyncio
async def c():
pass
async def a():
print("start a")
await c()
print("finish a")
async def b():
print("start b")
await c()
print("finish b")
async def main():
loop.create_task(a())
print("create task")
loop.create_task(b())
loop = asyncio.new_event_loop()
loop.run_until_complete(main())
loop.run_forever()
выводит
create task
start a
finish a
start b
finish b
но я ожидаю вывод
create task
start a
start b
finish a
finish b