# thread.event 库模块帮助文档

## thread 成员列表 <a id="thread" href="#thread">&#x23;</a>

### thread.event <a id="thread.event" href="#thread.event">&#x23;</a>
创建或打开事件对象,  
返回对象可传入其他线程使用。

事件对象可用于线程或进程间同步

### thread.event("事件对象名称",是否手动复原,初始状态) <a id="thread.event" href="#thread.event">&#x23;</a>
名称不能包含反斜杠,不能超过260个字符  
thread.event,process.mutex,fsys.mmap等命名不能相同,  
省略名称创建匿名对象,  
参数@2,@3仅在创建新的事件对象是有效  
这两个参数都是可选参数默认为false  
初始状成默认为无信号状态  
手动复原指wait函数等到信号是否硕要手动reset到无信号状态

### thread.event(事件对象句柄) <a id="thread.event" href="#thread.event">&#x23;</a>
直接打开事件对象

### thread.event(事件对象句柄,true) <a id="thread.event" href="#thread.event">&#x23;</a>
直接打开事件对象  
添加析构函数负责释放句柄

## threadEventObject 成员列表 <a id="threadEventObject" href="#threadEventObject">&#x23;</a>

### threadEventObject.close() <a id="threadEventObject.close" href="#threadEventObject.close">&#x23;</a>
关闭事件对象  
该函数并不关闭信号量内核对象  
当所有引用内核对象的对象关闭,内核对象自动释放  
如果没有手工调用此函数,则线程结束时自动调用.

### threadEventObject.conflict <a id="threadEventObject.conflict" href="#threadEventObject.conflict">&#x23;</a>
如果事件对象已存在,此属性为真值  
否则为空值

### threadEventObject.pulse() <a id="threadEventObject.pulse" href="#threadEventObject.pulse">&#x23;</a>
该函数主要用于手动复原事件对象  
设置事件对象为有信号状态,并释放某些等待线程  
然后自动到无信号状态

### threadEventObject.reset() <a id="threadEventObject.reset" href="#threadEventObject.reset">&#x23;</a>
事件对象设置为无信号状态  
类似交通信号灯切换到红灯阻塞等待线程  
如果创建事件对象时并未设定手动复位,此函数不需要手动调用

### threadEventObject.set() <a id="threadEventObject.set" href="#threadEventObject.set">&#x23;</a>
设置事件的状态为有信号状态,  
退出等待该事件对象信号的函数  
类似交通信号灯切换到绿灯放行等待线程

### threadEventObject.wait() <a id="threadEventObject.wait" href="#threadEventObject.wait">&#x23;</a>
等待事件切换到有信号状态,  
可选增加一个参数指定超时,以毫秒为单位  
在UI线程中应使用非阻塞的waitOne函数替代  
如果未指定手工复原、等待成功则自动复原为无信号状态

### threadEventObject.waitOne() <a id="threadEventObject.waitOne" href="#threadEventObject.waitOne">&#x23;</a>
等待事件切换到有信号状态,  
可选增加一个参数指定超时,以毫秒为单位  
如果未指定手工复原、等待成功则自动复原为无信号状态
