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

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

В Python временная многопоточность (time-sharing) — это когда потоки выполняются по очереди, переключаясь через GIL (Global Interpreter Lock), что создает иллюзию параллелизма. Одновременная (true concurrency) — реальное параллельное выполнение потоков/процессов на разных ядрах CPU.

Ключевые отличия:

  1. GIL: В Python потоки (threading) используют временную многопоточность из-за GIL, а процессы (multiprocessing) — одновременную.
  2. Производительность: Для CPU-bound задач лучше multiprocessing, для I/O-bound — threading.
  3. Память: Потоки разделяют память, процессы — нет.

Пример:

python
import threading
import multiprocessing

def task():
    print("Выполняется")

# Временная многопоточность (threading)
t = threading.Thread(target=task)
t.start()

# Одновременная (multiprocessing)
p = multiprocessing.Process(target=task)
p.start()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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