Python multiprocessing.Process
Есть код:
import multiprocessing
import time
class Process(multiprocessing.Process):
def __init__(self):
self.queue = []
self.ids_sum = 0
super().__init__(target = self.global_handler)
def global_handler(self):
while True:
if self.queue:
message_id = self.queue.pop()
multiprocessing.Process(target = self.message_handler, args = [message_id, ]).start()
def message_handler(self, message_id: int):
self.ids_sum+=message_id
def start(self):
super().start()
if __name__ == "__main__":
process = Process()
process.start()
for i in range(100):
process.queue.append(1)
for _ in range(5):
print(process.ids_sum)
time.sleep(1)
Почему в методе global_handler значение self.queue равно [], если его вывести на печать внутри метода?
Однако, значение process.queue содержит целый список