Встречается на собеседованиях • сегодня
В чем разница между потоками и механизмом async/await в Python
Потоки (threading) и async/await работают с конкурентностью, но по-разному:
- Потоки используют системные потоки ОС, переключаются планировщиком. Подходят для CPU-bound задач, но имеют накладные расходы на переключение и проблемы с GIL (Global Interpreter Lock), который ограничивает параллельное выполнение Python-кода.
- Async/await (asyncio) — однопоточный механизм, переключает задачи на уровне событийного цикла. Эффективен для IO-bound задач (сетевые запросы, файловые операции), но не подходит для CPU-bound операций, так как не использует дополнительные ядра.
Пример с потоками:
python
import threading
def task():
print("Thread running")
thread = threading.Thread(target=task)
thread.start()Пример с asyncio:
python
import asyncio
async def task():
print("Coroutine running")
await task() # в асинхронной функцииВыбор зависит от задачи: потоки — для параллелизма с GIL, async — для эффективного ожидания IO.

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