Проблема с асинхронностью, функции не вызываются одновременно

Я написал программу на python, с использованием asyncio

import asyncio

async def update_heroes_list():
    # реализация функции update_heroes_list
    pass

async def update_heroes_win_rates():
    # реализация функции update_heroes_win_rates
    pass

async def update_counters():
    # реализация функции update_counters
    pass

async def find_pro_players():
    # реализация функции find_pro_players
    pass

async def find_players_win_rate():
    # реализация функции find_players_win_rate
    pass

async def main():
    tasks = [
        update_heroes_list(),
        update_heroes_win_rates(),
        update_counters(),
        find_pro_players(),
        find_players_win_rate()
    ]

    await asyncio.gather(*tasks)

if __name__ == "__main__":
    asyncio.run(main())

вот примерное описание программы, мне нужно чтобы все 5 функций запускались одновременно, но они запускаются по очереди. Подскажите, что я делаю не так?


Ответы (1 шт):

Автор решения: eri

Асинхронность режет асинхронную функцию по слову await и исполняет кусочки по очереди или ждёт асинхронного доступа (сокета, таймера, файла, пайпа).

Тяжелый синхронный код блокирует исполнение других тасков.

→ Ссылка