Встречается на собеседованиях • сегодня
Что лучше подходит для работы с файлами - многопоточность или асинхронность
Для работы с файлами в Python лучше использовать асинхронность, а не многопоточность. Вот почему:
- GIL ограничивает потоки - в Python потоки не выполняются по-настоящему параллельно из-за Global Interpreter Lock
- Ожидание ввода-вывода - асинхронность идеально подходит для операций, где много времени тратится на ожидание (дисковый ввод-вывод)
- Меньше накладных расходов - корутины легковеснее потоков
Пример с asyncio:
python
import asyncio
from aiofile import async_open
async def read_file():
async with async_open("data.txt", "r") as afp:
content = await afp.read()
return content
asyncio.run(read_file())Однако для CPU-интенсивных задач с файлами (например, обработка изображений) лучше использовать процессы (multiprocessing).

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