Module xwos.sync.flg
XWLUA模块:事件标志
事件标志使用位图来管理一组事件,位图中的每个位代表一个事件, 当一个或多个事件状态发生变化时,事件对应的位也会发生变化,并唤醒正在等待的线程。 线程唤醒后,就可从事件位图中获取事件的状态。
XWOS的事件标志:
- 线程可以等待位图中的事件位被置 1 ,也可以等待事件位被清 0 。
- 线程可以等待位图中的事件位同时被置 1 (事件与事件之间是逻辑 与 的关系),也可以等待其中任意一个位被置 1 (事件与事件之间是逻辑 或 的关系)。
- 线程可以等待位图中的事件位同时被清 0 (事件与事件之间是逻辑 与 的关系),也可以等待其中任意一个位被清 0 (事件与事件之间是逻辑 或 的关系)。
- 线程可以选择是否 消费 事件。 消费 事件是指,当事件到来,线程被唤醒时,可以选择是否 清除 事件。
- 线程可以等待事件标志位发生 翻转 , 翻转 是指事件标志位由 1 变为 0 ,或由 0 变为 1 。
Functions
new (num) | 新建事件标志 |
Functions
- new (num)
-
新建事件标志
Parameters:
- num number 事件的数量
Returns:
-
userdata
新的事件标志对象的强指针 flgsp
Usage:
flg = xwos.flg.new(num) -- 创建事件标志