Задать вопрос
@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 можно превратить в асинхронную только так?
  • Вопрос задан
  • 368 просмотров
Подписаться 1 Оценить 5 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Python-разработчик
    8 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы