Code: Alles auswählen
import threading
def function():
#threadfunction
global a
a = True
T = threading.Thread(target=function)
T.start()
print(a)
a is undefinded
Wieso?
Code: Alles auswählen
import threading
def function():
#threadfunction
global a
a = True
T = threading.Thread(target=function)
T.start()
print(a)
Ja die Einrückung mal bitte nicht beachten, okay danke, was könnte man denn als alternative Methode benutzen.
Also, ich möchte einfach eine Variable, die im Thread definiert habe, in meinem HauptThread nutzen.__blackjack__ hat geschrieben: ↑Samstag 14. Juli 2018, 22:16 @AdriBloober: Alternative zu was? Was ist denn hier das Ziel? Grundsätzlich: Was die Funktion braucht als Argument(e) übergeben. Wenn die Funktion ein Flag signalisieren soll, dann gibt's dafür Datentypen im `threading`-Modul. Wenn sie Werte am Ende (oder mitten drin) in einen anderen Thread übertragen soll, kann man eine `queue.Queue` verwenden. Grundsätzlich würde ich erst einmal schauen ob das `concurrent.futures`-Modul nicht einfacher ist.