Встречается на собеседованиях • сегодня
Что такое потоки, процессы и асинхронность, и чем они отличаются
Потоки (threads) выполняются в одном процессе и разделяют память. Легковесны, но подвержены проблемам GIL в Python, что ограничивает параллелизм для CPU-bound задач.
Процессы (processes) - изолированные экземпляры программы с собственной памятью. Тяжелее потоков, но обходят GIL, так как каждый процесс имеет свой интерпретатор.
Асинхронность - однопоточная модель, где задачи кооперативно передают управление. Эффективна для I/O-bound операций, избегает накладных расходов на переключение контекста.
Пример с потоками:
python
from threading import Thread
def task():
print("Выполняется в потоке")
thread = Thread(target=task)
thread.start()Пример с процессами:
python
from multiprocessing import Process
def task():
print("Выполняется в процессе")
process = Process(target=task)
process.start()Пример асинхронности:
python
import asyncio
async def task():
print("Асинхронная задача")
asyncio.run(task())Ключевые отличия:
- Потоки: общая память, GIL ограничивает
- Процессы: изолированы, больше накладных расходов
- Асинхронность: однопоточная, неблокирующие вызовы

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