#include<aomic>
class SpinLock{
public:
SpinLock():flag_(false){}
void lock(){
bool except = false;
while(!flag_.compare_exchange_weak(expect,true))
{
expect = false;
}
}
void unlock()
{
flag_.store(false);
}
private:
std::atmoic<bool>flag_;
};
基于CAS实现自旋锁
发布时间 2023-06-20 23:50:58作者: simp00