Встречается на собеседованиях • сегодня
Что произойдет с другими корутинами, если корутина asyncio начнет читать большой файл через open('file').read()
Если корутина начнёт читать большой файл через синхронный open().read(), это заблокирует весь event loop asyncio, так как операция выполняется синхронно. Все остальные корутины не смогут выполняться, пока файл не будет полностью прочитан.
Правильный подход - использовать асинхронные методы:
python
async with aiofiles.open('file') as f:
content = await f.read()Или использовать run_in_executor для синхронных операций:
python
with open('file') as f:
content = await loop.run_in_executor(None, f.read)Ключевые моменты:
- Синхронные I/O операции блокируют event loop
- Все корутины "зависнут" на время чтения
- Для работы с файлами в asyncio нужно использовать специальные библиотеки (aiofiles) или выносить тяжёлые операции в отдельные потоки

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы