python threading problem?

1 Antwort

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)

namehalt69 
Fragesteller
 27.11.2021, 14:47

x ist definiert

x = 0

0
priesterlein  27.11.2021, 14:53
@namehalt69

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.

0
priesterlein  27.11.2021, 14:58
@namehalt69

Nebenbei: Ich habe die Variable x mal addiert und nicht subtrahiert wie in deinem Originalcode.

0