Python асинхронные и синхронизирующие функции выполняются как потоки - PullRequest
0 голосов
/ 25 октября 2019

Я хотел бы вызвать асинхронную функцию из чистого кода синхронизации. Я хотел бы выполнить эту асинхронную функцию в фоновом режиме, не вставляя мою прогу. Моя идея состоит в том, чтобы использовать модуль потоков.

from threading import Thread
import asyncio

async def func1():
    ...

def func2():
    ...

if __name__ == '__main__':
    Thread(target=func1).start()
    Thread(target=func2).start()

Есть идеи? Заранее спасибо!

1 Ответ

0 голосов
/ 25 октября 2019

Начиная с Python 3.7 asyncio.run.

Заменить

    Thread(target=func1).start()

на

    Thread(target=asyncio.run, args=(func1(),)).start()
...