Ich versuche, zwei while
Schleifen gleichzeitig in zwei separaten Prozessen auszuführen, wobei der erste eine globale Variable ändert, auf der der andere Prozess eine Entscheidung trifft.Gemeinsame globale Variable zwischen zwei Prozessen
Mein Problem ist, die globale Variable wird nicht vor dem ersten Prozess geändert, so dass der zweite Prozess nicht richtig darauf reagiert.
Dies ist mein Code:
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 –