Files
XCEngine/docs/api/XCEngine/Threading/SpinLock/Lock.md

541 B

SpinLock::Lock

自旋直到获得锁。

void Lock();
void lock();

行为说明

当前实现有两套入口:

  • Lock():引擎风格命名。
  • lock():标准 Lockable 风格别名。

核心逻辑是一个空循环:

while (m_flag.test_and_set(std::memory_order_acquire)) {
}

返回值

  • 无。

注意事项

  • 持锁时间稍长时会持续占用 CPU。
  • 适合极短临界区,不适合可能阻塞的工作。

相关文档