Встречается на 1% собеседований по Python
Какие подходы к асинхронности в Python
В Python есть несколько подходов к асинхронности:
-
Потоки (threading)
Подходит для I/O-bound задач. GIL ограничивает параллелизм CPU-bound операций.pythonimport threading def task(): print("Выполняется в потоке") thread = threading.Thread(target=task) thread.start() -
Процессы (multiprocessing)
Для CPU-bound задач, обходит GIL, но имеет накладные расходы.pythonfrom multiprocessing import Process def task(): print("Выполняется в процессе") p = Process(target=task) p.start()
-
Asyncio
Современный подход для I/O-bound задач с использованием корутин.pythonimport asyncio async def task(): print("Асинхронная задача") asyncio.run(task()) -
Генераторы
Базовый механизм для кооперативной многозадачности.pythondef generator(): yield 1 yield 2 gen = generator() print(next(gen)) -
Сторонние библиотеки
Например,geventилиeventletдля green-потоков.
Выбор зависит от типа задачи: asyncio для современных сетевых приложений, процессы для тяжелых вычислений, потоки для простых I/O операций.

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