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
This commit is contained in:
32
docs/api/threading/spinlock/try-lock.md
Normal file
32
docs/api/threading/spinlock/try-lock.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# SpinLock::try_lock
|
||||
|
||||
```cpp
|
||||
bool try_lock()
|
||||
```
|
||||
|
||||
STL 兼容的 `try_lock()` 方法,与 [`TryLock`](trylock.md) 等效。满足 STL `Lockable` 概念要求。
|
||||
|
||||
**参数:** 无
|
||||
|
||||
**返回:** `bool` - 获取成功返回 true,锁不可用返回 false
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**线程安全:** ✅
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
Threading::SpinLock spinLock;
|
||||
|
||||
void STLCompatibleTry() {
|
||||
if (spinLock.try_lock()) {
|
||||
// 临界区操作
|
||||
spinLock.unlock();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [SpinLock 总览](spinlock.md) - 返回类总览
|
||||
Reference in New Issue
Block a user