Встречается на 1% собеседований по Python
В чем разница между asyncio и multithreading в Python
Основное отличие в подходе к параллелизму:
asyncio использует кооперативную многозадачность в одном потоке. Корутины добровольно передают управление через await, что эффективно для I/O-bound задач. Пример:
python
async def fetch_data():
await asyncio.sleep(1)
return "data"Multithreading использует настоящие потоки ОС (через модуль threading), которые переключаются принудительно. Подходит для CPU-bound задач (с GIL ограничениями). Пример:
python
def worker():
time.sleep(1)
return "data"Ключевые различия:
- asyncio: однопоточный, явное переключение, лучше для множества I/O операций
- threading: настоящие потоки, неявное переключение, накладные расходы на создание потоков
- GIL влияет на threading, но не мешает asyncio
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы