Top.Mail.Ru
Ответы

Python и Asyncio

Как на Python с помощью asyncio осуществить запуск двух асинхронных функций независимо друг от друга? пробовал через threading, но там сразу много огромных ошибок вылезает, может быть есть альтернативный вариант? Пример кода:

1234567891011121314
 import asyncio
import time

async def function1():
..while True:
....print("Function1")
....time.sleep(1)

async def function2():
..while True:
....print("Function2")
....time.sleep(2)

# Запустить обе асинхронные функции так, чтобы они выполнялись независимо друг от друга, т.е. выполнение одной функции не блокировало выполнение другой 

Заранее спасибо за помощь

По дате
По рейтингу
Аватар пользователя
Мыслитель
6мес

Примерно так

12345678910111213141516
 import asyncio 
 
async def function1(): 
    while True: 
        print("Function1") 
        await asyncio.sleep(2) 
 
async def function2(): 
    while True: 
        print("Function2") 
        await asyncio.sleep(1) 
 
async def main(): 
    await asyncio.gather(function1(), function2()) 
 
asyncio.run(main()) 

Только это не параллельное выполнение, а поочередное(в месте перерыва await).
Для параллельного надо запускать multiprocessing.

Аватар пользователя
Мыслитель
6мес

Алоу