Files
XCEngine/docs/api/threading/mutex/lock_const.md

44 lines
827 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Mutex::lock
```cpp
void lock() const;
```
获取互斥锁const 版本)。如果锁已被其他线程持有,则阻塞当前线程直到锁可用。
该方法是 `std::lockable` 接口的实现,可与 `std::lock_guard``std::unique_lock` 等 RAII 工具配合使用。
**参数:**
**返回:**
**线程安全:**
**复杂度:** 平均 O(1),最坏情况 O(n)n 为竞争线程数
**示例:**
```cpp
#include "XCEngine/Threading/Mutex.h"
#include <mutex>
XCEngine::XCEngine::Threading::Mutex mtx;
int counter = 0;
void Increment() {
mtx.lock();
++counter;
mtx.unlock();
}
// 使用 RAII 自动管理锁
void SafeIncrement() {
std::lock_guard<XCEngine::Threading::Mutex> guard(mtx);
++counter;
}
```
## 相关文档
- [Mutex 总览](mutex.md) - 返回类总览