基于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_;
  };
目录
相关文章
|
8月前
|
应用服务中间件 Linux 调度
锁和原子操作CAS的底层实现
锁和原子操作CAS的底层实现
63 0
|
存储 编译器 API
锁与原子操作CAS
锁与原子操作CAS
157 0
|
7月前
|
Java 调度
阻塞锁和自旋锁的理解
总体来说,自旋锁适用于锁定时间短、锁竞争不频繁的场景,而阻塞锁更适合锁定时间较长或锁竞争较频繁的场景。根据具体的应用需求选择合适的锁类型,可以优化系统性能。
98 0
|
8月前
|
算法 调度 数据安全/隐私保护
什么是CAS锁
什么是CAS锁
100 0
|
Java 编译器 Linux
【多线程】锁策略、CAS、Synchronized
锁策略, cas 和 synchronized 优化过程
|
8月前
|
算法
原子操作CAS
原子操作CAS
46 0
|
8月前
|
缓存 Linux API
原子操作CAS与锁实现
原子操作CAS与锁实现
|
8月前
|
存储 缓存 算法
理解原子操作与CAS锁
理解原子操作与CAS锁
89 0
|
8月前
|
安全 Linux 调度
Linux C/C++ 开发(学习笔记四):多线程并发锁:互斥锁、自旋锁、原子操作、CAS
Linux C/C++ 开发(学习笔记四):多线程并发锁:互斥锁、自旋锁、原子操作、CAS
93 0

热门文章

最新文章