Что за функция gather()
Функция asyncio.gather(*coros) - одновременно запускает все awaitable-объекты, переданные как последовательность, и передает для запуска в цикле событий.
Функция asyncio.gather() является awaitable-объектом и запускается с оператором await. Если вы передаете функции gather() сопрограмму, то она будет автоматически назначена как задача.
import asyncio
import random
async def two(x):
await asyncio.sleep(random.randint(1, 3))
return print(x)
async def one(x):
await asyncio.sleep(random.randint(1, 3))
return print(x)
async def main():
for x in range(5):
await asyncio.gather(one(1), two(2))
asyncio.run(main())
Oct. 12, 2023, Источник