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

В чем разница потоков и процессов

Потоки (threads) и процессы (processes) — это способы выполнения кода параллельно, но с ключевыми различиями:

  • Память: Потоки разделяют память процесса, а процессы имеют изолированную память.
  • Создание: Потоки легче (меньше накладных расходов), процессы тяжелее (отдельное окружение).
  • GIL в Python: Глобальная блокировка интерпретатора (GIL) ограничивает потоки в CPython, делая их неэффективными для CPU-задач. Процессы обходят GIL.

Пример с потоками:

python
import threading

def task():
    print("Поток работает")

thread = threading.Thread(target=task)
thread.start()

Пример с процессами:

python
from multiprocessing import Process

def task():
    print("Процесс работает")

process = Process(target=task)
process.start()

Выбор зависит от задачи: потоки для I/O-bound, процессы для CPU-bound.

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

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

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

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