Files
XCEngine/docs/api/threading/mutex/lock-const.md
ssdfasd f427699ac6 refactor: improve test infrastructure and fix OpenGL GLAD initialization
- Rename D3D12Enum.h to D3D12Enums.h for naming consistency
- Fix OpenGL unit test GLAD initialization by using gladLoadGL()
  instead of gladLoadGLLoader(wglGetProcAddress) for fallback support
- Migrate remaining tests to use gtest_discover_tests for granular
  test discovery (math, core, containers, memory, threading, debug,
  components, scene, resources, input, opengl)
- Remove obsolete TEST_RESOURCES_DIR and copy_directory commands
  from OpenGL unit test CMakeLists (minimal/Res doesn't exist)
- Update TEST_SPEC.md with performance metrics and per-module
  build/test commands for faster development workflow
- Update CMake path references to use lowercase paths
2026-03-23 00:43:02 +08:00

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) - 返回类总览