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

35 lines
620 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()
```
获取互斥锁。如果锁已被其他线程持有,则阻塞当前线程直到锁可用。
**参数:**
**返回:**
**复杂度:** 平均 O(1),最坏情况 O(n)n 为竞争线程数
**注意:**
- 同一线程不可重复 Lock 同一个 Mutex会导致死锁
- 建议使用 RAII 封装(如 std::lock_guard自动管理锁的释放。
**示例:**
```cpp
XCEngine::Threading::Mutex mtx;
int counter = 0;
void Increment() {
mtx.Lock();
++counter;
mtx.Unlock();
}
```
## 相关文档
- [Mutex 总览](mutex.md) - 返回类总览