Встречается на 4% собеседований по Python
Расскажи про опыт работы с многопроцессорностью (multiprocessing)
Модуль multiprocessing в Python позволяет обходить GIL, создавая отдельные процессы с собственным интерпретатором и памятью. Основные компоненты:
Process— базовый класс для создания процессовPool— пул воркеров для параллельного выполнения задачQueue,Pipe— механизмы межпроцессного взаимодействияLock,Semaphore— синхронизация
Пример с Pool:
python
from multiprocessing import Pool
def square(x):
return x * x
if __name__ == '__main__':
with Pool(4) as p:
results = p.map(square, range(10))
print(results) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]Ключевые особенности:
- Полная изоляция процессов (нет shared memory по умолчанию)
- Более тяжеловесные чем потоки
- Лучше подходят для CPU-bound задач
- Требуют защиты точки входа
if __name__ == '__main__'в Windows
Для обмена данными между процессами можно использовать multiprocessing.Array, multiprocessing.Value или менеджеры.

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