Встречается на собеседованиях • сегодня
Какие подходы к асинхронности в 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
интервью вопросы и ответы