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

Какой опыт с мультипроцессингом

В Python мультипроцессинг реализуется через модуль multiprocessing. Он позволяет обойти GIL, используя отдельные процессы вместо потоков.

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

  • Process – базовый класс для создания процессов.
  • Pool – удобен для параллельного выполнения функций (map, apply).
  • Обмен данными через Queue, Pipe или shared memory (Value, Array).
  • IPC требует сериализации (pickle).

Пример:

python
from multiprocessing import Pool

def square(x):
    return x * x

if __name__ == '__main__':
    with Pool(4) as p:
        print(p.map(square, [1, 2, 3]))  # [1, 4, 9]

Нюансы:

  • Запуск процессов дороже, чем потоков.
  • if __name__ == '__main__' обязательно в Windows.
  • Глобальные переменные не разделяются между процессами.
  • Для CPU-bound задач эффективнее потоков.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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