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

Что такое неблокирующий ввод-вывод

Неблокирующий ввод-вывод (non-blocking I/O) — это подход, при котором операции ввода-вывода не блокируют выполнение программы, позволяя ей продолжать работу, даже если операция ещё не завершена. В Python это реализуется через асинхронные механизмы, такие как asyncio.

Пример с asyncio:

python
import asyncio

async def fetch_data():
    print("Начало загрузки")
    await asyncio.sleep(2)  # Имитация долгой операции
    print("Данные загружены")

async def main():
    task = asyncio.create_task(fetch_data())
    print("Программа продолжает работу")
    await task

asyncio.run(main())

Ключевые особенности:

  • Операции выполняются асинхронно, без блокировки основного потока
  • Используются корутины (async/await)
  • Эффективно для I/O-bound задач (сетевые запросы, работа с файлами)
  • Позволяет обрабатывать множество операций параллельно в одном потоке
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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