|
XWOS API
4.0
XWOS C/C++ API参考手册
|
线程栅栏基类 更多...
#include <Br.hxx>


Public 类型 | |
| enum | WaitMode : xwu32_t { BrWait = 0 , BrWaitTimed , BrWaitUninterruptable } |
| 等待模式枚举 更多... | |
Public 成员函数 | |
| xwsz_t | num () |
| 获取事件的最大数量 | |
| xwer_t | wait (enum WaitMode mode, xwtm_t to) |
| 等待所有线程到达栅栏 | |
| template<xwsz_t TSelNum> | |
| xwer_t | bind (Sel< TSelNum > *sel, long pos) |
| 绑定线程栅栏对象到信号选择器 | |
| template<xwsz_t TSelNum> | |
| xwer_t | bind (Sel< TSelNum > &sel, long pos) |
| 绑定线程栅栏对象到信号选择器 | |
| template<xwsz_t TSelNum> | |
| xwer_t | unbind (Sel< TSelNum > *sel) |
| 从信号选择器上解绑线程栅栏对象 | |
| template<xwsz_t TSelNum> | |
| xwer_t | unbind (Sel< TSelNum > &sel) |
| 从信号选择器上解绑线程栅栏对象 | |
| struct xwos_br * | getXwosObj () |
| 获取XWOS对象指针 | |
Protected 成员函数 | |
| Br () | |
| ~Br () | |
Protected 属性 | |
| struct xwos_br * | mBrPtr |
| enum xwos::sync::Br::WaitMode : xwu32_t |
等待模式枚举
| 枚举值 | |
|---|---|
| BrWait | 等待模式 |
| BrWaitTimed | 定时等待模式 |
| BrWaitUninterruptable | 不可中断等待模式 |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inline |
等待所有线程到达栅栏
| [in] | mode | 等待模式,取值 Br::WaitMode |
| [in] | to | 期望唤醒的时间点,仅当 mode == Br::WaitMode::BrWaitTimed 时有效。 |
| XWOK | 没有错误 |
| -EFAULT | 无效的指针或空指针 |
| -ECHRNG | 线程数量超出范围 |
| -ETIMEDOUT | 超时 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX:不在线程上下文中 |
Br::WaitMode::BrWait: 调用线程会阻塞等待。Br::WaitMode::BrWaitTimed 定时等待模式, to 表示等待超时的时间点:to 通常是未来时间点,即 当前系统时间 + delta , 可以使用 xwtm_ft(delta) 表示;to 是过去的时间点,将直接返回 -ETIMEDOUT 。Br::WaitMode::BrWaitUninterruptable 不可中断等待模式。 
|
inline |
绑定线程栅栏对象到信号选择器
| [in] | sel | 信号选择器的指针 |
| [in] | pos | 线程栅栏对象映射到信号选择器位图中的位置 |
| XWOK | 没有错误 |
| -EFAULT | 无效的指针或空指针 |
| -ECHRNG | 位置超出范围 |
| -EALREADY | 同步对象已经绑定到事件对象 |
| -EBUSY | 通道已经被其他同步对象独占 |

|
inline |
绑定线程栅栏对象到信号选择器
| [in] | sel | 信号选择器的引用 |
| [in] | pos | 线程栅栏对象映射到信号选择器位图中的位置 |
| XWOK | 没有错误 |
| -EFAULT | 无效的指针或空指针 |
| -ECHRNG | 位置超出范围 |
| -EALREADY | 同步对象已经绑定到事件对象 |
| -EBUSY | 通道已经被其他同步对象独占 |

|
inline |
从信号选择器上解绑线程栅栏对象
| [in] | sel | 信号选择器的引用 |
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENOTCONN | 同步对象没有绑定到事件对象上 |

|
inline |
从信号选择器上解绑线程栅栏对象
| [in] | sel | 信号选择器的引用 |
| XWOK | 没有错误 |
| -EFAULT | 空指针 |
| -ENOTCONN | 同步对象没有绑定到事件对象上 |

|
inline |
|
protected |