docs: update memory and threading API docs

This commit is contained in:
2026-03-20 02:35:24 +08:00
parent c5b17239ca
commit fd792b7df1
103 changed files with 2485 additions and 673 deletions

View File

@@ -15,7 +15,7 @@ void Lock()
**注意:**
- 适用于临界区极短(几个 CPU 指令)的场景,避免线程切换开销。
- 在锁持有时间较长或多核竞争激烈时,会浪费大量 CPU 周期,此时应使用 Mutex。
- 同一线程不可重复 Lock 同一个 SpinLock。
- 同一线程同一个 SpinLock 重复加锁会导致死锁
**示例:**

View File

@@ -0,0 +1,31 @@
# SpinLock::lock
```cpp
void lock()
```
STL 兼容的 `lock()` 方法,与 [`Lock`](lock.md) 等效。满足 STL `Lockable` 概念要求。
**参数:**
**返回:**
**复杂度:** 平均 O(1),最坏情况取决于竞争程度
**线程安全:**
**示例:**
```cpp
Threading::SpinLock spinLock;
void STLCompatibleUsage() {
spinLock.lock();
// 临界区操作
spinLock.unlock();
}
```
## 相关文档
- [SpinLock 总览](spinlock.md) - 返回类总览

View File

@@ -19,6 +19,9 @@
| [`Lock`](lock.md) | 获取锁(忙等待) |
| [`Unlock`](unlock.md) | 释放锁 |
| [`TryLock`](trylock.md) | 尝试获取锁(非阻塞) |
| [`lock`](lock_1.md) | STL 兼容的 Lock |
| [`unlock`](unlock_1.md) | STL 兼容的 Unlock |
| [`try_lock`](try_lock.md) | STL 兼容的 TryLock |
## STL 兼容方法
@@ -50,4 +53,4 @@ void SafeIncrement() {
- [Mutex](../mutex/mutex.md) - 互斥锁
- [ReadWriteLock](../readwritelock/readwritelock.md) - 读写锁
- [../threading/threading.md](../threading.md) - 模块总览
- [../threading.md](../threading.md) - 模块总览

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

View File

@@ -0,0 +1,31 @@
# SpinLock::unlock
```cpp
void unlock()
```
STL 兼容的 `unlock()` 方法,与 [`Unlock`](unlock.md) 等效。满足 STL `Lockable` 概念要求。
**参数:**
**返回:**
**复杂度:** O(1)
**线程安全:**
**示例:**
```cpp
Threading::SpinLock spinLock;
void STLCompatibleUsage() {
spinLock.lock();
// 临界区操作
spinLock.unlock();
}
```
## 相关文档
- [SpinLock 总览](spinlock.md) - 返回类总览