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

Почему задачи ввода/вывода (I/O) в Python часто выполняются асинхронно

Асинхронный I/O в Python используется для эффективной работы с операциями, которые могут блокировать выполнение (сеть, файлы, БД). В отличие от синхронного подхода, где поток блокируется на время операции, асинхронность позволяет обрабатывать другие задачи во время ожидания.

Основные причины:

  1. Масштабируемость – один поток может обслуживать множество соединений
  2. Экономия ресурсов – не нужно создавать отдельные потоки/процессы
  3. Отзывчивость – приложение не "зависает" при долгих операциях
python
import asyncio

async def fetch_data():
    # Имитация долгой I/O операции
    await asyncio.sleep(2)
    return "Данные получены"

async def main():
    task = asyncio.create_task(fetch_data())
    print("Делаем что-то еще...")
    data = await task
    print(data)

asyncio.run(main())

Ключевые технологии: asyncio, async/await, aiohttp, asyncpg. Для CPU-bound задач лучше использовать multiprocessing.

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

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

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

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