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

620 B
Raw Blame History

Mutex::Lock

void Lock()

获取互斥锁。如果锁已被其他线程持有,则阻塞当前线程直到锁可用。

参数:

返回:

复杂度: 平均 O(1),最坏情况 O(n)n 为竞争线程数

注意:

  • 同一线程不可重复 Lock 同一个 Mutex会导致死锁
  • 建议使用 RAII 封装(如 std::lock_guard自动管理锁的释放。

示例:

XCEngine::Threading::Mutex mtx;
int counter = 0;

void Increment() {
    mtx.Lock();
    ++counter;
    mtx.Unlock();
}

相关文档