python threading problem?
ich hab das hier programmiert um threads zu verstehen aber iriwe bekomm ich nur en fehler raus xD
kann mir jemand helfen ?
1 Antwort
![](https://images.gutefrage.net/media/user/priesterlein/1542055893934_nmmslarge__444_0_1075_1075_c1ca1c12508ee885dc0aee04c6e0cbf8.png?v=1542055894000)
Da du überhaupt nichts zum Fehler schreibst:
Ich rate mal: Du fragst x ab ohne dass du x vorher definiert hast. Beachte, dass x in der Funktion nicht das x von außerhalb ist. Bevor du also threading verstehen willst, solltest du erst mal die Grundlagen durchgehen.
Beispiel:
import threading
x = 0
y = 1000000
def funk1():
global x,y
while x<=y:
x += 1
def funk2():
global x,y
while y>=x:
y -= 1
t1 = threading.Thread(target=funk1)
t2 = threading.Thread(target=funk2)
t1.start()
t2.start()
t1.join()
t2.join()
print(x,"->",y)
![](https://images.gutefrage.net/media/user/priesterlein/1542055893934_nmmslarge__444_0_1075_1075_c1ca1c12508ee885dc0aee04c6e0cbf8.png?v=1542055894000)
x ist NICHT im Kontext der Funktion/des Threads definiert, sondern außerhalb. Beachte mein Beispiel und LERNE die GRUNDLAGEN zur Gültigkeit von Variablen.
Ganz wichtig: Bei solchen kleinen Texten IMMER den Text mitgeben und nicht nur ein Bild.
Ganz wichtig: IMMER die Fehlermeldung benennen.
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/priesterlein/1542055893934_nmmslarge__444_0_1075_1075_c1ca1c12508ee885dc0aee04c6e0cbf8.png?v=1542055894000)
Nebenbei: Ich habe die Variable x mal addiert und nicht subtrahiert wie in deinem Originalcode.
x ist definiert
x = 0