Как параллельно запустить 2 асинхронные функции?

Помогите ответом. Не могу найти ответа, как параллельно запускать асинхронные функции в Python?

Пример кода:

async def func1():
    print('Текст 1')
    # await asyncio.sleep(5)
    time.sleep(5)
    print('Текст 2')

async def func2():
    print('Текст 3')

async def main():
    t1 = asyncio.create_task(func1())
    t2 = asyncio.create_task(func2())
    await t1
    await t2

asyncio.run(main())

Результат должен быть таким:

Текст 1
Текст 3
Текст 2

т.е. "func1" выводит "Текст 1", потом пока "func1" отдыхает "func2" выводит "Текст 3", а после "func1" выводит "Текст 2"

С НЕ асинхронными функциями через "threading" проблема решается, но перевести их в НЕ асинхронные функции нет возможности потому как в них используются асинхронные методы.


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