您当前的位置: 首页 >  ar
  • 0浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++11:原子交换函数compare_exchange_strong

软件工程小施同学 发布时间:2021-08-20 10:20:11 ,浏览量:0

compare_exchange_strong:

atomic库中的一个函数,入参是3个,expect,desire,memoryorder,

意思是如果当前的变量this的值==expect值,则将this值改为desire,并返回true,

否则,返回false,不进行修改,即进行一个读的操作。

通常用于例如线程B等待线程A执行完毕,或者执行到某个步骤。

此时线程B可以进行while等待,线程A在执行到对应步骤,将对应的原子变量置为expect值即可。类似于“接力运动”。

这里由于会进行读写操作,所以,memory order一般是acq rel,而A线程由于要保证都执行完毕,执行顺序没有关系,所以一般是Release的memory order。

原文链接:https://blog.csdn.net/feikudai8460/article/details/107035480

关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

0.0425s