5#ifdef USE_STD_CONCURRENCY
24#if defined(USE_STD_CONCURRENCY)
30 if (!
lock_.exchange(
true, std::memory_order_acquire)) {
34 while (
lock_.load(std::memory_order_relaxed)) {
46 return !
lock_.load(std::memory_order_relaxed) &&
47 !
lock_.exchange(
true, std::memory_order_acquire);
50 void unlock() {
lock_.store(
false, std::memory_order_release); }
53 volatile std::atomic<bool>
lock_ = {0};
65 void lock()
override {
std_mutex.lock(); }
66 void unlock()
override {
std_mutex.unlock(); }
80 void lock()
override {
std_mutex.lock(); }
81 void unlock()
override {
std_mutex.unlock(); }