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

В чем различие между create_task и await в AsyncIO

create_task и await в AsyncIO выполняют разные роли:

  • await приостанавливает текущую корутину до завершения другой корутины. Код после await не выполняется, пока ожидаемая корутина не вернет результат.
    python
    async def foo():
        await asyncio.sleep(1)  # Приостанавливает выполнение на 1 секунду
  • create_task оборачивает корутину в Task и планирует её выполнение в event loop без блокировки текущей корутины. Позволяет запускать задачи конкурентно.
    python
    async def bar():
        task = asyncio.create_task(asyncio.sleep(1))  # Запускает sleep в фоне
        await task  # Ожидание завершения задачи (опционально)

Ключевое отличие: await блокирует выполнение, а create_task запускает задачу асинхронно. Если нужно параллельное выполнение, используй create_task. Если нужен последовательный код — await.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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