Files
XCEngine/docs/api/threading/mutex/trylock.md

761 B
Raw Blame History

Mutex::TryLock

bool TryLock()

尝试获取互斥锁(非阻塞)。如果锁可用则立即获取并返回 true否则立即返回 false 而不阻塞。

参数:

返回: bool - 获取成功返回 true锁不可用返回 false

复杂度: O(1)

使用场景: 适用于需要尝试获取锁但不希望阻塞的场景,如实现无锁算法或避免死锁。

示例:

XCEngine::Threading::Mutex mtx;
volatile bool updated = false;

void TryUpdate() {
    if (mtx.TryLock()) {
        updated = true;
        mtx.Unlock();
        printf("Update succeeded\n");
    } else {
        printf("Update skipped (lock held)\n");
    }
}

相关文档