输入/搜索内容
内置函数
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
threading.Thread
threading.getThread
threading.mainThread
threading.currentThread
threading.Lock
threading.Condition
threading.Event
threading.Dict
threading.Serve
threading.pending
Thread
ThreadLock
ThreadEvent
ThreadCondition
ThreadDict
Server
TA
Talib
OS
结构体
内置变量与常量
通用约定
交易所

创建一个线程事件对象,该对象用于线程间的同步,允许一个线程等待另一个线程的通知或信号。

Event()

示例

两个并发线程访问共享资源。

javascript
function consumer(productionQuantity, dict, pEvent, cEvent) { for (var i = 0; i < productionQuantity; i++) { while (dict.get("array").length == 0) { pEvent.wait() } if (pEvent.isSet()) { pEvent.clear() } var arr = dict.get("array") var count = arr.shift() dict.set("array", arr) Log("consumer:", count, ", array:", arr) cEvent.set() Sleep(1000) } } function producer(productionQuantity, dict, pEvent, cEvent) { for (var i = 0; i < productionQuantity; i++) { while (dict.get("array").length != 0) { cEvent.wait() } if (cEvent.isSet()) { cEvent.clear() } var arr = dict.get("array") arr.push(i) dict.set("array", arr) Log("producer:", i, ", array:", arr) pEvent.set() Sleep(1000) } } function main() { var dict = threading.Dict() dict.set("array", []) var pEvent = threading.Event() var cEvent = threading.Event() var productionQuantity = 10 var producerThread = threading.Thread(producer, productionQuantity, dict, pEvent, cEvent) var consumerThread = threading.Thread(consumer, productionQuantity, dict, pEvent, cEvent) consumerThread.join() producerThread.join() }

返回值

类型描述

ThreadEvent对象

ThreadEvent对象。

参考

备注

支持回测系统、实盘环境。