Встречается на собеседованиях • сегодня
В чем разница между корутинами и потоками в Python
Корутины и потоки в Python решают задачи конкурентности, но работают по-разному:
Потоки (threading)
- Используют системные потоки ОС (GIL ограничивает параллелизм в CPython)
- Переключение между потоками управляется ОС (preemptive multitasking)
- Подходят для I/O-bound задач
python
import threading
def task():
print("Thread running")
thread = threading.Thread(target=task)
thread.start()
text
**Корутины (asyncio)**
- Работают в одном потоке (cooperative multitasking)
- Переключение явное через `await`
- Эффективны для I/O-bound задач с большим количеством соединений
```python
import asyncio
async def task():
print("Coroutine running")
await task() # в async функцииКлючевые отличия:
- Потоки могут выполняться параллельно (если GIL отпущен), корутины - только последовательно
- Корутины потребляют меньше ресурсов (нет накладных расходов на переключение потоков)
- Корутины требуют явного указания точек переключения (
await)

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