setData()
函数用于在线程环境中存储变量。
setData(key, value)
key
参数用于指定存储的键值对的键名。
key
true
string
value
参数用于指定存储的键值对的键值。
value
true
string / number / bool / object / array / function / any (系统支持的所有类型)
function main() {
var t1 = threading.Thread(function() {
threading.currentThread().setData("data", 100)
})
Sleep(1000)
Log(`t1.getData("data"):`, t1.getData("data"))
t1.join()
}
在并发线程中设置键值对,在主线程中读取该键值对。
“`javascript
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()
}“` 支持将函数作为键值传入。
数据在线程未执行join()
函数(等待退出成功)且未执行terminate()
函数(强制终止线程)的情况下有效。参数value
的值必须是可序列化的变量。
{@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}