15 if (!locked_.exchange(
true, std::memory_order_acquire)) {
19 while (locked_.load(std::memory_order_relaxed)) {
20 __builtin_ia32_pause();
26 locked_.store(
false, std::memory_order_release);
void unlock() noexcept
Definition: SpinLock.h:25
SpinLock()
Definition: SpinLock.h:11
std::atomic_bool locked_
Definition: SpinLock.h:29
void lock() noexcept
Definition: SpinLock.h:13