自旋锁,可以用C++自己写一个,网上也很多。
 
#include <atomic>
class SpinLock {
  public:
    SpinLock() : _flag(false) {}
    void lock() {
        bool expect = false;
        while (!_flag.compare_exchange_weak(expect, true)) {
            expect = false;
        }
    }
 
    void unlock() {
        _flag.store(false);
    }
 
  private:
    std::atomic<bool> _flag;
};