So habe ich diesen Code:Variablen an Änderungen zwischen Threads in Python Funktionen [Anfänger]
import time
import threading
bar = False
def foo():
while True:
if bar == True:
print "Success!"
else:
print "Not yet!"
time.sleep(1)
def example():
while True:
time.sleep(5)
bar = True
t1 = threading.Thread(target=foo)
t1.start()
t2 = threading.Thread(target=example)
t2.start()
Ich versuche zu verstehen, warum ich nicht bar
-=
zu true
bekommen .. Wenn ja, dann der andere Thread sollte die Änderung sehen und schreiben Success!
zu setzen Die 'Bar' in den beiden Funktionen sind nicht im gleichen Umfang. Sie sollten sich mit Bereichen befassen, bevor Sie Multithreading lernen. In jedem Fall sollten gegenseitige Ressourcen-Konstrukte für Threads verwendet werden. –
Einrückung in 'time.sleep (1)' ist falsch. Ich denke, es war beabsichtigt, innerhalb der While-Schleife zu sein. –