XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
Mtx.hxx
浏览该文件的文档.
1
13#ifndef __xwos_cxx_lock_Mtx_hxx__
14#define __xwos_cxx_lock_Mtx_hxx__
15
18
19namespace xwos {
20namespace lock {
21
86class Mtx
87{
88 public:
101 };
102
106 class Grd
107 {
108 private:
112
113 public:
114 Grd() = delete;
115
152 Grd(Mtx * mtx, enum LockMode mode = LockMode::MtxLock, xwtm_t to = XWTM_MAX);
153
164 Grd(Mtx & mtx, enum LockMode mode = LockMode::MtxLock, xwtm_t to = XWTM_MAX);
165
170
176 void unlock();
177
190 xwer_t getRc() { return mRc; }
191
195 enum LockMode getLockMode() { return mLockMode; }
196
227 xwer_t wait(sync::Cond & cond) { return wait(&cond); }
228
266 xwer_t wait(sync::Cond & cond, xwtm_t to) { return wait(&cond, to); }
267 };
268
269 protected:
271
272 protected:
273 Mtx() : mMtxPtr(nullptr) {}
274 ~Mtx() { mMtxPtr = nullptr; }
275
276 public:
280 struct xwos_mtx * getXwosObj() { return mMtxPtr; }
281};
282
287} // namespace lock
288} // namespace xwos
289
290#endif /* xwos/cxx/lock/Mtx.hxx */
xwos::sync::Cond
互斥锁的RAII机制守卫
Definition Mtx.hxx:107
xwer_t getRc()
获取上锁结果错误码
Definition Mtx.hxx:190
xwer_t wait(sync::Cond *cond)
等待条件量
Grd(Mtx &mtx, enum LockMode mode=LockMode::MtxLock, xwtm_t to=((xwtm_t)((~(xwu64_t) 0) > > 1)))
构造互斥锁的RAII机制守卫并上锁互斥锁
void unlock()
解锁互斥锁
xwer_t wait(sync::Cond &cond, xwtm_t to)
Definition Mtx.hxx:266
xwer_t wait(sync::Cond *cond, xwtm_t to)
限时等待条件量
enum LockMode mLockMode
Definition Mtx.hxx:111
xwer_t wait(sync::Cond &cond)
Definition Mtx.hxx:227
Grd(Mtx *mtx, enum LockMode mode=LockMode::MtxLock, xwtm_t to=((xwtm_t)((~(xwu64_t) 0) > > 1)))
构造互斥锁的RAII机制守卫并上锁互斥锁
~Grd()
析构互斥锁的RAII机制守卫并解锁互斥锁
enum LockMode getLockMode()
获取上锁模式
Definition Mtx.hxx:195
互斥锁基类
Definition Mtx.hxx:87
LockMode
互斥锁的锁模式
Definition Mtx.hxx:92
@ MtxLockUninterruptable
Definition Mtx.hxx:97
struct xwos_mtx * mMtxPtr
Definition Mtx.hxx:270
struct xwos_mtx * getXwosObj()
获取XWOS对象指针
Definition Mtx.hxx:280
条件量基类
Definition Cond.hxx:56
xws64_t xwtm_t
XWOS系统时间 (有符号)
Definition type.h:742
#define XWTM_MAX
xwtm_t 的最大值
Definition type.h:755
signed long xwer_t
Definition type.h:554
uint32_t xwu32_t
Definition type.h:266
C++操作系统抽象层:互斥锁
Definition Bmp.hxx:21
XWOS API:互斥锁
Definition mtx.h:82