DiesetData()
Funktion wird verwendet, um Variablen im Thread-Kontext zu speichern.
SetDaten (Schlüssel, Wert)
Diekey
Parameter wird verwendet, um den Schlüsselnamen des gespeicherten Schlüssel-Wert-Paares anzugeben.
Schlüssel
wahr
String
Dievalue
Parameter wird verwendet, um den Schlüsselwert des gespeicherten Schlüssel-Wert-Paares anzugeben.
Wert - Das stimmt. Jeder vom System unterstützte Typ, z. B. Zeichenfolge, Zahl, bool, Objekt, Array, Funktion, Nullwert usw.
function main() {
var t1 = threading.Thread(function() {
threading.currentThread().setData("data", 100)
})
Sleep(1000)
Log(`t1.getData("data"):`, t1.getData("data"))
t1.join()
}
Setzen Sie das Schlüssel-Wert-Paar im gleichzeitigen Thread und lesen Sie das Schlüssel-Wert-Paar im Hauptthread.
function main() {
threading.mainThread().setData("func2", function(p) {
Log("func2 p:", p)
})
var t1 = threading.Thread(function() {
threading.currentThread().setData("func1", function(p) {
Log("func1 p:", p)
})
var func2 = threading.mainThread().getData("func2")
func2("test2")
})
Sleep(1000)
var func1 = t1.getData("func1")
func1("test1")
t1.join()
}
Es unterstützt die Übertragung von Schlüsselwerten auf Funktionen.
Die Daten sind gültig, wenn der Thread diejoin()
Funktion (Wartend auf erfolgreichen Ausgang) und hat dieterminate()
Funktion (Zwangsbeenden des Threads).value
muss eine serialisierbare Variable sein.
{@fun/Threads/Thread/peekMessage peekMessage}, {@fun/Threads/Thread/postMessage postMessage}, {@fun/Threads/Thread/join join}, {@fun/Threads/Thread/terminate terminate}, {@fun/Threads/Thread/getData getData}, {@fun/Threads/Thread/id id}, {@fun/Threads/Thread/name name}, {@fun/Threads/Thread/eventLoop eventLoop}
GetDaten Identifizierung