Module xwos.sync.sel

XWLUA模块:信号选择器

信号选择器类似于事件标志,使用位图来管理一组 同步对象 。使得单一线程可以同时等待一组不同的 同步对象

每个 同步对象 在信号选择器位图中都绑定一个特定的 , 当这些 同步对象 发送 选择信号 时,信号选择器位图中特定的 被设置,同时使得等待信号选择器的线程被唤醒。

选择信号

选择信号 对于不同的 同步对象 有不同解释:

信号量

指发布操作 semsp:post() ;

条件量

指广播操作 condsp:broadcast() ,单播 condsp:unicast() 不会向信号选择器发送 选择信号

事件标志

指事件标志位图中任何一位发生改变:

线程栅栏

指所有线程抵达同步点,并调用 brsp:wait() 或 brsp:wait_to() ;

信号选择器

信号选择器本身也是 同步对象 ,也可绑定在另一个信号选择器上。当源信号选择器收到了 选择信号 ,会将其传递到绑定的另一个目的信号选择器上。

Functions

new (num) 新建信号选择器


Functions

new (num)
新建信号选择器

Parameters:

  • num number (in) 信号槽的数量

Returns:

    userdata 新的信号选择器对象的强指针 selsp

Usage:

    sel = xwos.sel.new(32) -- 创建拥有32个槽的信号选择器
generated by LDoc 1.5.0 Last updated 2024-12-17 12:17:46