26 Acquire(
SpinLock& spin_lock) : spin_lock_(spin_lock) { spin_lock_.lock(); }
28 ~
Acquire() { spin_lock_.unlock(); }
42 while (std::atomic_flag::test_and_set(std::memory_order_acquire))
46 void unlock() { clear(std::memory_order_release); }
49 return std::atomic_flag::test_and_set(std::memory_order_acquire);