输入/搜索内容
内置函数
Global
Log
Market
Trade
Account
Futures
Exchange
IO
Network
Storage
Threads
exchange.Go
EventLoop
ctx.subscribe
ctx.poll
ctx.order
ctx.cancel
ctx.submit
Subscription
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
结构体
内置变量与常量
通用约定
交易所

向线程发送消息。

postMessage(msg)

示例

  • 在并发线程中发送消息,使用eventLoop()接收消息通知。

    javascript
    function main() { var t1 = threading.Thread(function() { for (var i = 0; i < 10; i++) { Log("thread1 postMessage():", i) threading.mainThread().postMessage(i) Sleep(500) } }) for (var i = 0; i < 10; i++) { var event = threading.mainThread().eventLoop() Log("main event:", event) Sleep(500) } t1.join() }
  • 支持发送函数。

    javascript
    function main() { threading.mainThread().postMessage(function(msg) { Log("func from mainThread, msg:", msg) }) threading.Thread(function() { var func = threading.mainThread().peekMessage() func("in " + threading.currentThread().name()) }).join() }

参数

名称类型必填描述

msg

string / number / bool / object / array / function / any

是

要发送的消息。

参考

备注

当线程的执行函数中调用postMessage()函数发送信号或数据时,会产生消息事件。可以使用eventLoop()函数接收消息通知。

每个线程的消息队列最多保存10240条消息、合计32MB,任一上限到达时丢弃最旧的消息并输出一条警告。接收消息的线程应及时调用peekMessage()取走消息。