37 lines
690 B
Markdown
37 lines
690 B
Markdown
|
|
# Mutex::try_lock
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
bool try_lock() const;
|
||
|
|
```
|
||
|
|
|
||
|
|
尝试获取互斥锁,非阻塞。如果锁不可用,调用线程不会阻塞,而是立即返回。
|
||
|
|
|
||
|
|
**参数:** 无
|
||
|
|
|
||
|
|
**返回:** `bool` - 如果成功获取锁返回 `true`,否则返回 `false`
|
||
|
|
|
||
|
|
**线程安全:** ✅
|
||
|
|
|
||
|
|
**示例:**
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
#include "XCEngine/Threading/Mutex.h"
|
||
|
|
#include <iostream>
|
||
|
|
|
||
|
|
XCEngine::Threading::Mutex mutex;
|
||
|
|
|
||
|
|
void tryOperation() {
|
||
|
|
if (mutex.try_lock()) {
|
||
|
|
// 获取锁成功
|
||
|
|
mutex.unlock();
|
||
|
|
} else {
|
||
|
|
// 锁已被其他线程持有
|
||
|
|
std::cout << "Lock not available" << std::endl;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [Mutex 类总览](mutex.md) - 返回类总览
|