基于CAS实现自旋锁

简介: 基于CAS实现自旋锁
#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_;
  };
目录
相关文章
|
2月前
|
应用服务中间件 Linux 调度
锁和原子操作CAS的底层实现
锁和原子操作CAS的底层实现
27 0
|
8月前
|
存储 编译器 API
锁与原子操作CAS
锁与原子操作CAS
115 0
|
7月前
|
API 调度 C语言
互斥锁,自旋锁,原子操作的原理,区别和实现
v互斥锁,自旋锁,原子操作的原理,区别和实现
41 0
|
2月前
|
算法 调度 数据安全/隐私保护
什么是CAS锁
什么是CAS锁
31 0
|
2月前
|
算法
原子操作CAS
原子操作CAS
26 0
|
2月前
|
缓存 Linux API
原子操作CAS与锁实现
原子操作CAS与锁实现
|
2月前
|
存储 缓存 算法
理解原子操作与CAS锁
理解原子操作与CAS锁
36 0
|
2月前
|
安全 Linux 调度
Linux C/C++ 开发(学习笔记四):多线程并发锁:互斥锁、自旋锁、原子操作、CAS
Linux C/C++ 开发(学习笔记四):多线程并发锁:互斥锁、自旋锁、原子操作、CAS
53 0
|
2月前
|
存储 安全 中间件
锁与原子操作CAS的底层实现
锁与原子操作CAS的底层实现