@Marox
Человек

Как из синхронной функции сделать асинхронную?

Представим есть функция
def calc():
        i = 1
        while i < 100000000:
            i += 1
        return 'result'

Она синхронная и будет блокировать поток.

Можно выполнить ее в другом потоке:
from concurrent.futures import ThreadPoolExecutor, run_on_executor

executor = ThreadPoolExecutor(max_worker=4)

@run_on_executor
def calc():
        i = 1
        while i < 100000000:
            i += 1
        return 'result'


Но неужели синхронную функцию в Tornado можно превратить в асинхронную только так?
  • Вопрос задан
  • 360 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы