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

Что переключается быстрее - потоки ли процессы в Python

В Python потоки переключаются быстрее процессов, но с важными оговорками:

  1. Потоки легковесны и используют общее адресное пространство, что делает переключение контекста быстрее.
  2. Однако из-за GIL (Global Interpreter Lock) в CPython только один поток исполняет Python-код одновременно.

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

python
import threading

def worker():
    print("Thread working")

threads = [threading.Thread(target=worker) for _ in range(5)]
for t in threads:
    t.start()

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

python
from multiprocessing import Process

def worker():
    print("Process working")

processes = [Process(target=worker) for _ in range(5)]
for p in processes:
    p.start()

Ключевые моменты:

  • Потоки быстрее создаются и переключаются
  • Процессы используют отдельные интерпретаторы Python и избегают GIL
  • Для CPU-задач процессы часто эффективнее, несмотря на накладные расходы
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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