输入/搜索内容
内置函数
Global
Log
Market
Trade
Account
Futures
Threads
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对象。

参考

备注

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