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

В чем разница между многопоточностью (multithreading) и асинхронностью

Многопоточность использует несколько потоков выполнения внутри одного процесса, переключаясь между ними через механизм GIL (в Python). Подходит для CPU-задач, но требует синхронизации.

Асинхронность (asyncio) использует один поток, но переключает задачи при ожидании I/O (сеть, файлы). Эффективнее для I/O-bound задач, нет накладных расходов на переключение потоков.

Пример многопоточности:

python
from threading import Thread

def task():
    print("Thread running")

t = Thread(target=task)
t.start()
t.join()

Пример асинхронности:

python
import asyncio

async def task():
    print("Coroutine running")

asyncio.run(task())

Ключевое отличие: потоки выполняются параллельно (с ограничениями GIL), а корутины — кооперативно (явное await).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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