输入/搜索内容
内置函数
Global
Log
Market
Trade
Account
Futures
Threads
threading
Thread
Thread.peekMessage
Thread.postMessage
Thread.join
Thread.terminate
Thread.getData
Thread.setData
Thread.id
Thread.name
Thread.eventLoop
ThreadLock
ThreadEvent
ThreadCondition
ThreadDict
Server
TA
Talib
OS
结构体
内置变量

监听当前线程接收到的事件。

eventLoop()
eventLoop(timeout)

示例

并发执行 3 个线程,输出接收到的事件信息;当超时或立即返回时,输出为空值。

javascript
function main() { var t1 = threading.Thread(function() { while (true) { var eventMsg = threading.currentThread().eventLoop() // 阻塞等待 // 2024-11-14 10:14:18 thread1 eventMsg: {"Seq":1,"Event":"thread","ThreadId":0,"Index":1,"Queue":0,"Nano":1731550458699947000} Log(_D(), "thread1 eventMsg:", eventMsg) } }) var t2 = threading.Thread(function() { while (true) { var eventMsg = threading.currentThread().eventLoop(-1) // 立即返回 Log(_D(), "thread2 eventMsg:", eventMsg) Sleep(5000) } }) var t3 = threading.Thread(function() { while (true) { var eventMsg = threading.currentThread().eventLoop(3000) // 设置3秒超时 Log(_D(), "thread3 eventMsg:", eventMsg) } }) t1.postMessage("Hello " + t1.name()) t2.postMessage("Hello " + t2.name()) t3.postMessage("Hello " + t3.name()) t1.join() t2.join() t3.join() }

返回值

类型描述

object / 空值

当前线程接收到的事件信息,详见事件信息结构。

参数

名称类型必填描述

timeout

number

否

超时时间,单位为毫秒。若 timeout 设置为 0,则阻塞等待,直到有事件发生才返回;若大于 0,则表示等待事件的超时时间;若小于 0,则立即返回最近的事件。

参考

备注

eventLoop() 函数的处理机制与全局函数 EventLoop() 一致。