XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
xwos::lock::DMtx类 参考

动态互斥锁 更多...

#include <DMtx.hxx>

xwos::lock::DMtx 的协作图:

结构体

class  Grd
 动态互斥锁的RAII机制守卫 更多...
 

Public 类型

enum  LockMode : xwu32_t {
  DMtxUnlock = 0 , DMtxLock , DMtxLockTimed , DMtxLockUninterruptable ,
  DMtxLockTry
}
 动态互斥锁的锁模式 更多...
 

Public 成员函数

 DMtx (xwpr_t pr=XWOS_SKD_PRIORITY_RT_MAX)
 构造函数
 
 ~DMtx ()
 
xwer_t getCtorRc ()
 
struct xwos_mtxgetXwosObj ()
 
xwer_t acquire ()
 
xwer_t release ()
 

Private 属性

xwos_mtx_d mMtxDesc
 
xwer_t mCtorRc
 

详细描述

动态互斥锁

在文件 DMtx.hxx72 行定义.

成员枚举类型说明

◆ LockMode

动态互斥锁的锁模式

枚举值
DMtxUnlock 

未上锁

DMtxLock 

如果无法上锁,调用线程会阻塞等待上锁。

DMtxLockTimed 

定时等待模式,如果无法上锁, 调用线程会定时阻塞等待上锁。

DMtxLockUninterruptable 

不可中断等待模式,如果无法上锁, 调用线程会阻塞等待上锁,且不可被中断。

DMtxLockTry 

尝试上锁模式,如果无法上锁, 调用线程不会阻塞等待,尝试失败立即返回。

在文件 DMtx.hxx78 行定义.

78 : xwu32_t {
79 DMtxUnlock = 0,
80 DMtxLock,
87 };
@ DMtxLockUninterruptable
Definition DMtx.hxx:83
uint32_t xwu32_t
Definition type.h:266

构造及析构函数说明

◆ DMtx()

xwos::lock::DMtx::DMtx ( xwpr_t  pr = XWOS_SKD_PRIORITY_RT_MAX)
explicit

构造函数

参数
[in]pr互斥锁的天花板优先级

在文件 DMtx.cxx105 行定义.

106{
108}
xwos_mtx_d mMtxDesc
Definition DMtx.hxx:258
xwer_t mCtorRc
Definition DMtx.hxx:259
static xwer_t xwos_mtx_create(xwos_mtx_d *mtxd, xwpr_t sprio)
XWOS API:动态方式创建互斥锁
Definition mtx.h:182
函数调用图:

◆ ~DMtx()

xwos::lock::DMtx::~DMtx ( )

析构函数

在文件 DMtx.cxx110 行定义.

111{
113}
static xwer_t xwos_mtx_delete(xwos_mtx_d mtxd)
XWOS API:删除动态方式创建的互斥锁
Definition mtx.h:197
函数调用图:

成员函数说明

◆ acquire()

xwer_t xwos::lock::DMtx::acquire ( )
inline

增加引用计数

在文件 DMtx.hxx272 行定义.

函数调用图:

◆ getCtorRc()

xwer_t xwos::lock::DMtx::getCtorRc ( )
inline

获取动态互斥锁构造的结果

在文件 DMtx.hxx268 行定义.

◆ getXwosObj()

struct xwos_mtx * xwos::lock::DMtx::getXwosObj ( )
inline

获取XWOS对象指针

在文件 DMtx.hxx269 行定义.

◆ release()

xwer_t xwos::lock::DMtx::release ( )
inline

减少引用计数

在文件 DMtx.hxx273 行定义.

函数调用图:

结构体成员变量说明

◆ mCtorRc

xwer_t xwos::lock::DMtx::mCtorRc
private

互斥锁构造的结果

在文件 DMtx.hxx259 行定义.

◆ mMtxDesc

xwos_mtx_d xwos::lock::DMtx::mMtxDesc
private

互斥锁对象描述符

在文件 DMtx.hxx258 行定义.


该类的文档由以下文件生成: