Встречается на собеседованиях • сегодня

В чем разница между 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
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы