Back to questions
Т-Банк
Junior — Middle
68
Можно ли разделять одну переменную между несколькими процессами в Python и как это реализовать?
Companies where asked
Answer from AI
sobes.tech AI
В Python можно разделять данные между процессами с помощью модуля multiprocessing, который предоставляет специальные объекты для совместного доступа к переменным.
Основные способы:
multiprocessing.Value— для разделения одного значения (например, числа).multiprocessing.Array— для разделения массива данных.multiprocessing.Manager— создаёт сервер, который позволяет создавать общие объекты (списки, словари и др.), доступные из разных процессов.
Пример с Value:
from multiprocessing import Process, Value
def worker(num):
num.value += 1
if __name__ == '__main__':
shared_num = Value('i', 0) # 'i' — тип int
processes = [Process(target=worker, args=(shared_num,)) for _ in range(5)]
for p in processes:
p.start()
for p in processes:
p.join()
print(shared_num.value) # Выведет 5
Таким образом, переменная shared_num разделяется между процессами и изменяется ими.