이렇게하면 프로세스간에 완료 값을 공유 할 수 있습니다. multiprocessing.Value
을 사용하여 공유 메모리를 사용하여 공유 객체를 만듭니다.
from multiprocessing import Process, Value
class test(Process):
def __init__(self, name, fin):
Process.__init__(self)
self.name = name
self.finished = fin
def run(self):
print("executed")
self.finished.value = True
test_list = []
test_list.append(test('first', Value('b', False)))
test_list.append(test('second', Value('b', False)))
for t in test_list:
t.start()
for t in test_list:
t.join()
for t in test_list:
print(bool(t.finished.value))
t.finish는 주 프로세스가 아닌 다른 프로세스에서 업데이트됩니다. 참조 : https://docs.python.org/3/library/multiprocessing.html#sharing-state-between-processes – gammazero