setData

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}