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

静态互斥锁 更多...

#include <SMtx.hxx>

xwos::lock::SMtx 的协作图:

结构体

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

Public 类型

enum  LockMode : xwu32_t {
  SMtxUnlock = 0 , SMtxLock , SMtxLockTimed , SMtxLockUninterruptable ,
  SMtxLockTry
}
 静态互斥锁的锁模式 更多...
 

Public 成员函数

 SMtx (xwpr_t pr=XWOS_SKD_PRIORITY_RT_MAX)
 构造函数
 
 ~SMtx ()
 
xwer_t getCtorRc ()
 
struct xwos_mtxgetXwosObj ()
 
xwer_t grab ()
 
xwer_t put ()
 

Private 成员函数

void operator delete (void *obj)=delete
 

静态 Private 成员函数

static void * operator new (xwsz_t sz)=delete
 

Private 属性

struct xwos_mtx mLock
 
xwer_t mCtorRc
 

详细描述

静态互斥锁

在文件 SMtx.hxx73 行定义.

成员枚举类型说明

◆ LockMode

静态互斥锁的锁模式

枚举值
SMtxUnlock 

未上锁

SMtxLock 

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

SMtxLockTimed 

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

SMtxLockUninterruptable 

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

SMtxLockTry 

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

在文件 SMtx.hxx79 行定义.

79 : xwu32_t {
80 SMtxUnlock = 0,
81 SMtxLock,
88 };
@ SMtxLockUninterruptable
Definition SMtx.hxx:84
uint32_t xwu32_t
Definition type.h:266

构造及析构函数说明

◆ SMtx()

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

构造函数

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

在文件 SMtx.cxx105 行定义.

106{
108}
xwer_t mCtorRc
Definition SMtx.hxx:264
struct xwos_mtx mLock
Definition SMtx.hxx:263
static xwer_t xwos_mtx_init(struct xwos_mtx *mtx, xwpr_t sprio)
XWOS API:静态方式初始化互斥锁
Definition mtx.h:111
函数调用图:

◆ ~SMtx()

xwos::lock::SMtx::~SMtx ( )

析构函数

在文件 SMtx.cxx110 行定义.

111{
113}
static xwer_t xwos_mtx_fini(struct xwos_mtx *mtx)
XWOS API:销毁静态方式初始化的互斥锁
Definition mtx.h:126
函数调用图:

成员函数说明

◆ getCtorRc()

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

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

在文件 SMtx.hxx273 行定义.

◆ getXwosObj()

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

获取XWOS对象指针

在文件 SMtx.hxx274 行定义.

◆ grab()

xwer_t xwos::lock::SMtx::grab ( )
inline

增加引用计数

在文件 SMtx.hxx277 行定义.

函数调用图:

◆ operator delete()

void xwos::lock::SMtx::operator delete ( void *  obj)
privatedelete

◆ operator new()

static void * xwos::lock::SMtx::operator new ( xwsz_t  sz)
staticprivatedelete

◆ put()

xwer_t xwos::lock::SMtx::put ( )
inline

减少引用计数

在文件 SMtx.hxx278 行定义.

函数调用图:

结构体成员变量说明

◆ mCtorRc

xwer_t xwos::lock::SMtx::mCtorRc
private

互斥锁构造的结果

在文件 SMtx.hxx264 行定义.

◆ mLock

struct xwos_mtx xwos::lock::SMtx::mLock
private

互斥锁结构体

在文件 SMtx.hxx263 行定义.


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