Files
XCEngine/docs/api/XCEngine/Threading/Mutex/Mutex.md

1.4 KiB

Mutex

命名空间: XCEngine::Threading

类型: class

头文件: XCEngine/Threading/Mutex.h

描述: 对 std::mutex 的薄封装,同时提供引擎风格和 STL Lockable 风格接口。

概述

Mutex 的实现非常直接:内部只有一个 mutable std::mutex m_mutex,所有公开接口都是对它的转发。

这类包装在引擎里常见的原因不是为了改变 std::mutex 的行为,而是为了:

  • 统一命名空间与 include 路径。
  • 同时支持 Lock() 这种引擎风格接口。
  • 也支持 lock() / unlock() / try_lock() 这种标准库 Lockable 习惯用法。

当前实现边界

  • 它不是递归锁;同一线程重复加锁会死锁。
  • 没有超时锁接口。
  • 没有显式的 owner 检查或调试断言。
  • 小写接口之所以能声明成 const,是因为底层 std::mutex 被保存为 mutable

公开方法

方法 说明
Constructor 默认构造互斥锁。
Destructor 销毁互斥锁。
Lock 阻塞直到获得锁;同页也说明 lock() 别名。
Unlock 释放锁;同页也说明 unlock() 别名。
TryLock 尝试获得锁;同页也说明 try_lock() 别名。

相关文档