Встречается на собеседованиях • сегодня
В чем разница между мультипоточностью и асинхронностью
Мультипоточность использует несколько потоков выполнения (threads) для параллельной обработки задач, но в Python из-за GIL (Global Interpreter Lock) потоки не выполняются по-настоящему параллельно для CPU-задач. Лучше подходит для I/O-bound задач.
Асинхронность (async/await) использует один поток, переключаясь между задачами при ожидании I/O. Не требует создания потоков, но требует переписывания кода с использованием async/await. Эффективнее для I/O-bound задач.
Пример мультипоточности:
python
from threading import Thread
def task():
print("Thread running")
t = Thread(target=task)
t.start()Пример асинхронности:
python
import asyncio
async def task():
print("Coroutine running")
await task()Ключевые различия:
- Потоки используют переключение контекста ОС, корутины - кооперативную многозадачность
- Асинхронность легче по ресурсам
- Мультипоточность может быть проще для рефакторинга существующего кода

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