33 lines
479 B
Markdown
33 lines
479 B
Markdown
|
|
# SpinLock::Unlock
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
void Unlock()
|
||
|
|
```
|
||
|
|
|
||
|
|
释放自旋锁,允许其他等待中的线程获取该锁。
|
||
|
|
|
||
|
|
**参数:** 无
|
||
|
|
|
||
|
|
**返回:** 无
|
||
|
|
|
||
|
|
**复杂度:** O(1)
|
||
|
|
|
||
|
|
**注意:** 必须在持有锁的线程中调用 Unlock。
|
||
|
|
|
||
|
|
**示例:**
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
Threading::SpinLock spinLock;
|
||
|
|
int64_t counter = 0;
|
||
|
|
|
||
|
|
void SafeAdd(int64_t value) {
|
||
|
|
spinLock.Lock();
|
||
|
|
counter += value;
|
||
|
|
spinLock.Unlock();
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [SpinLock 总览](spinlock.md) - 返回类总览
|