您当前的位置: 首页 > 

我什么都布吉岛

暂无认证

  • 3浏览

    0关注

    292博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

原子操作实现无锁同步

我什么都布吉岛 发布时间:2021-08-12 10:21:36 ,浏览量:3

原子操作是我们常常听到的一个概念,合理使用原子操作可以显著降低因为锁同步耗费时间。文章首先将会讨论以下问题:

  • 为什么需要互斥锁
  • 互斥锁的成本
  • 如何用原子操作替代互斥锁
一、为什么需要互斥锁?

主要为了解决多个线程并发造成的数据争抢导致的脏数据。下面的程序创建了十个线程,线程执行的内容都是将全局变量count自加1一万次,按照正常逻辑,最终的count结果应该是:10W。

#include 
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std::chrono_literals;

int count;
std::mutex lo;

void addOne()
{
    for(int i=0;ijoin();});
    auto e=std::chrono::steady_clock::now();
    std::chrono::duration d=e-s;

    std::cout            
关注
打赏
1658157489
查看更多评论
0.0365s