加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c,c 11,std ::原子成员函数

发布时间:2020-12-16 05:58:33 所属栏目:百科 来源:网络整理
导读:我试图使用std :: atomic库. 专业和非专业原子有什么区别? 会员功能? 以下功能有什么区别(如果有)? operator =将一个值存储到一个原子对象(公共成员函数)v.s.存储(C 11)使用非原子参数(公共成员函数)原子替换原子对象的值, 运算符T()从原子对象(公共成员
我试图使用std :: atomic库.

>专业和非专业原子有什么区别?
会员功能?
>以下功能有什么区别(如果有)?
> operator =将一个值存储到一个原子对象(公共成员函数)v.s.存储(C 11)使用非原子参数(公共成员函数)原子替换原子对象的值,
>运算符T()从原子对象(公共成员函数)v.s.负载(C 11)原子获取原子对象(public member function)的值.
> operator = v.s. fetch_add
> operator- = v.s. fetch_sub
> operator& = v.s. fetch_and
> operator | = vs. fetch_or
> operator ^ = v.s. fetch_xor
>以原子v.s.声明变量的缺点是什么?一个
非原子变量.例如,什么是缺点
的std ::原子< INT> x v.s. int x?换句话说,原子变量的开销是多少?
>哪一个有更多的开销?原子变量v.s.一般的
变量由互斥体保护?

这是我的问候的参考. http://en.cppreference.com/w/cpp/atomic/atomic

解决方法

不是专家,但我会试试:

>专门化(对于内置类型,如int),包含其他操作,如fetch_add.非专门的表单(用户定义的类型)不包含这些.> operator =返回其参数,store不存在.此外,非运算符允许您指定内存顺序.该标准表示operator =是根据商店定义的.>与上述相同,虽然返回负载的值.>同上>同上>同上>同上>同上>同上他们做不同的事情.以使用std :: atomic_int的方式使用int是未定义的行为.>你可以假定开销是int< = std :: atomic< = int和std :: mutex其中< =意味着'少开销'.所以这可能比使用互斥锁(特别是内置类型)更好,但比int更糟.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读