Встречается на собеседованиях • сегодня

Зачем нужен future в asyncio

Future в asyncio представляет собой объект, который хранит результат асинхронной операции, который может быть еще не готов. Это абстракция для отложенного результата, позволяющая проверять состояние операции (pending, done), устанавливать результат или исключение, а также добавлять колбэки на завершение.

Пример:

python
import asyncio

async def set_future_result(fut):
    await asyncio.sleep(1)
    fut.set_result("Готово!")

async def main():
    loop = asyncio.get_running_loop()
    fut = loop.create_future()
    
    # Запускаем задачу, которая установит результат Future
    asyncio.create_task(set_future_result(fut))
    
    print(await fut)  # Ожидаем результат

asyncio.run(main())

Ключевые моменты:

  • Future используется для ручного управления асинхронными операциями
  • Корутины и задачи (Task) внутри используют Future
  • Позволяет связывать асинхронный код через колбэки или await
  • Основной низкоуровневый строительный блок asyncio
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы