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

Что самое страшное может случиться в Event Loop

Блокировка Event Loop — это худшее, что может произойти. Если в корутине выполняется синхронный блокирующий вызов (например, долгий CPU-bound расчет, синхронный I/O или time.sleep()), весь цикл событий замирает, и другие задачи не выполняются.

Пример опасного кода:

python
import asyncio

async def blocking_operation():
    # Синхронная блокировка!
    time.sleep(5)  # Заморозит весь event loop на 5 секунд

async def main():
    await asyncio.gather(
        blocking_operation(),
        asyncio.sleep(1, "Другая корутина")  # Не выполнится вовремя
    )

Как избежать:

  • Используйте await asyncio.sleep() вместо time.sleep()
  • Для CPU-bound задач — loop.run_in_executor()
  • Для синхронных библиотек ищите асинхронные аналоги (aiohttp вместо requests)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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