Встречается на собеседованиях • сегодня
В чем разница между временной и одновременной многопоточностью (multithreading)
В Python временная многопоточность (time-sharing) — это когда потоки выполняются по очереди, переключаясь через GIL (Global Interpreter Lock), что создает иллюзию параллелизма. Одновременная (true concurrency) — реальное параллельное выполнение потоков/процессов на разных ядрах CPU.
Ключевые отличия:
- GIL: В Python потоки (threading) используют временную многопоточность из-за GIL, а процессы (multiprocessing) — одновременную.
- Производительность: Для CPU-bound задач лучше multiprocessing, для I/O-bound — threading.
- Память: Потоки разделяют память, процессы — нет.
Пример:
python
import threading
import multiprocessing
def task():
print("Выполняется")
# Временная многопоточность (threading)
t = threading.Thread(target=task)
t.start()
# Одновременная (multiprocessing)
p = multiprocessing.Process(target=task)
p.start()
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы