Value and Array provide shared memory objects for simple data types.
1from multiprocessing import Process, Value, Array23def increment(counter):4 for _ in range(1000):5 with counter.get_lock():6 counter.value += 178if __name__ == "__main__":9 # Shared integer10 counter = Value("i", 0) # "i" = signed int1112 processes = [13 Process(target=increment, args=(counter,))14 for _ in range(4)15 ]1617 for p in processes:18 p.start()19 for p in processes:20 p.join()2122 print(counter.value) # 40002324 # Shared array25 arr = Array("d", [1.0, 2.0, 3.0, 4.0]) # "d" = double26 print(arr[:]) # [1.0, 2.0, 3.0, 4.0]
Type codes:
Methods:
get_lock() — synchronization.get_obj() — get raw ctypes object..value — get/set value.