Встречается на собеседованиях • сегодня
Расскажи про опыт работы с многопроцессорностью (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
интервью вопросы и ответы