두 개의 다른 프로세스에서 두 개의 루프를 동시에 실행하려고합니다. 첫 번째 프로세스는 다른 프로세스가 결정을 내리는 데 사용하는 전역 변수를 수정합니다.두 프로세스간에 글로벌 변수 공유
제 문제는 전역 변수가 첫 번째 프로세스가 끝나기 전에 수정되지 않아 두 번째 프로세스가 제대로 응답하지 않는다는 것입니다.
flag = [False]
def loop1():
x = 0
while (x<10):
x = x + 1
read = input("Enter 0 or 1")
if read == 0:
flag[0] = False
else:
flag[0] = True
def loop2():
z = 0
while (z<100):
z = z + 1
if flag[0] == False:
# do something
else:
# do other thing
time.sleep(1)
if __name__ == '__main__':
Process(target = loop1).start()
Process(target = loop2).start()
https://docs.python.org/2/library/multiprocessing.html#sharing-state-between-processes –