Задать вопрос
@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-разработчик
    10 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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