Встречается на собеседованиях • сегодня
Использовал ли общую память в мультипроцессинге
В Python мультипроцессинг по умолчанию использует изолированную память для каждого процесса. Однако есть способы использовать общую память через специальные объекты:
ValueиArrayиз модуляmultiprocessing- для примитивных типов данныхManager- для более сложных структур (словари, списки)
Пример с Value:
python
from multiprocessing import Process, Value
def worker(n):
n.value += 1
num = Value('i', 0) # 'i' - целое число
processes = [Process(target=worker, args=(num,)) for _ in range(4)]
for p in processes:
p.start()
for p in processes:
p.join()
print(num.value) # Может быть от 1 до 4 из-за race conditionВажно: при работе с общей памятью нужно использовать блокировки (Lock) для избежания race conditions. Общая память медленнее из-за синхронизации.

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