当前位置: 首页 > news >正文 网站备案照片背景网站建设花钱吗 news 2025/11/5 21:50:20 网站备案照片背景,网站建设花钱吗,弹幕网站开发代码,WordPress网站积分系统一、std::atomic_ref 我们在学习C11后的原子操作时#xff0c;都需要提前定义好std::atomic变量#xff0c;然后才可以在后续的应用程序中进行使用。原子操作的优势在很多场合下优势非常明显#xff0c;所以这也使得很多开发者越来习惯使用原子变量。 但是#xff0c;在实…一、std::atomic_ref 我们在学习C11后的原子操作时都需要提前定义好std::atomic变量然后才可以在后续的应用程序中进行使用。原子操作的优势在很多场合下优势非常明显所以这也使得很多开发者越来习惯使用原子变量。 但是在实际的开发场景中有一些情况变量已经被定义或者说被封装再想更改使用相关的变量非常麻烦或者说不可能有没有一些方法可以将其转成原子操作呢这就是在C20中提供的std::atomic_ref。它可以把变量转成原子引用即对其引用的对象进行原子操作笔者自己为记忆方便定义为原子引用。先看其定义 template class T struct atomic_ref; 其内部支持wait、notify_one和notify_all等线程间的同步机制。那么在多线程中应用更灵活方便。 二、应用和限制 std::atomic_ref特别适合那些与其它模块甚至第三方已定义完成的对象定义进行原子操作控制。这样在简单的应用场景下就可以不用再考虑多线程的并发问题减轻了开发者的负担增加了数据的安全性提高了性能。其应用简单方便不必引入过重的锁的控制既实现了多线程数据间的安全操作又减少了锁的应用造成的较大的开销。 不过有优势的地方就必然也有受限制的地方 1、要防止多个地方操作被引用的数据混合使用比如直接使用数据和使用std::atomic_ref使用数据可能会导致数据的混乱这点可参看普通指针和智能指针混合使用。 2、如果使用const需要注意const对std::atomic_ref是浅层的即可以通过其它地方对引用的数据进行修改切记 3、使用std::atomic_ref时引用对象要求必须是平凡可复制的且不能是“is_always_lock_free is false and std::is_volatile_v is true”。 4、和所有的引用一样std::atomic_ref引用的对象生命周期要长于std::atomic_ref引用本身 5、被原子引用所引用的对象所需的对齐要求至少为 alignof(T) 6、要选用合理的memory_order,不过在PC机上编程一般std::memory_order_relaxed几乎都可以满足 7、一定要清楚std::atomic_ref并不是为了替代锁而产生的所以在实际编程中要综合考虑如何应用同步机制 8、在高并发并行操作时还是需要注意性能瓶颈的产生 应用简单就更需要注意限制的场景否则随意使用极有可能反而达不到实际想要的结果。 三、例程 先看一个基础的例程 #include atomic #include iostream #include threadstruct Data {int value; }; int main() {Data data{0};static int d 9;std::atomic_refint atomicValue std::atomic_ref(data.value);std::atomic_refint addValue std::atomic_ref(d);auto addThread1 [atomicValue]() {for (int i 0; i 1000; i) {atomicValue.fetch_add(1, std::memory_order_relaxed);}};auto addThread2 [addValue]() {for (int i 0; i 1000; i) {addValue.fetch_add(1, std::memory_order_release);}};std::thread t1(addThread1);std::thread t2(addThread1);std::thread t3(addThread2);std::thread t4(addThread2);t1.join();t2.join();t3.join();t4.join();std::cout Final value: data.value std::endl; // 2000std::cout Final value: d std::endl;//2009addValue.store(20,std::memory_order_relaxed);std::coutread d:addValue.load(std::memory_order_relaxed)std::endl;return 0; } 多线程中的同步和普通的锁同步一样这里就不举例子了。可参看一下相关的wait等方法即可。 四、总结 看到std::atomic_ref其实就想到了智能指针二者应用的方式何其相似。从目的上来讲就是为了让开发变得简单特别是在多线程状态下的开发能简单一些是一些。另外就是为了兼容更多的原有的应用让其都能使用std::atomic的功能。 或者从另外一个角度看std::atomic_ref只是一个过渡的功能以后会出现一个更强大的类或接口让原子操作更简单。让我们拭目以待 文章转载自: http://www.morning.krgjc.cn.gov.cn.krgjc.cn http://www.morning.rysmn.cn.gov.cn.rysmn.cn http://www.morning.mbnhr.cn.gov.cn.mbnhr.cn http://www.morning.rtsd.cn.gov.cn.rtsd.cn http://www.morning.yqqxj26.cn.gov.cn.yqqxj26.cn http://www.morning.dtzxf.cn.gov.cn.dtzxf.cn http://www.morning.xppj.cn.gov.cn.xppj.cn http://www.morning.ltdxq.cn.gov.cn.ltdxq.cn http://www.morning.hrydl.cn.gov.cn.hrydl.cn http://www.morning.wjqbr.cn.gov.cn.wjqbr.cn http://www.morning.wzyfk.cn.gov.cn.wzyfk.cn http://www.morning.wwgpy.cn.gov.cn.wwgpy.cn http://www.morning.coatingonline.com.cn.gov.cn.coatingonline.com.cn http://www.morning.zkbxx.cn.gov.cn.zkbxx.cn http://www.morning.cwrnr.cn.gov.cn.cwrnr.cn http://www.morning.bbmx.cn.gov.cn.bbmx.cn http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn http://www.morning.tblbr.cn.gov.cn.tblbr.cn http://www.morning.rwls.cn.gov.cn.rwls.cn http://www.morning.gwsfq.cn.gov.cn.gwsfq.cn http://www.morning.plhyc.cn.gov.cn.plhyc.cn http://www.morning.sxbgc.cn.gov.cn.sxbgc.cn http://www.morning.rgpbk.cn.gov.cn.rgpbk.cn http://www.morning.lgtzd.cn.gov.cn.lgtzd.cn http://www.morning.trpq.cn.gov.cn.trpq.cn http://www.morning.sgpny.cn.gov.cn.sgpny.cn http://www.morning.slysg.cn.gov.cn.slysg.cn http://www.morning.daidudu.com.gov.cn.daidudu.com http://www.morning.nrfrd.cn.gov.cn.nrfrd.cn http://www.morning.fpngg.cn.gov.cn.fpngg.cn http://www.morning.lbggk.cn.gov.cn.lbggk.cn http://www.morning.gjtdp.cn.gov.cn.gjtdp.cn http://www.morning.yprnp.cn.gov.cn.yprnp.cn http://www.morning.mpwgs.cn.gov.cn.mpwgs.cn http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn http://www.morning.crrjg.cn.gov.cn.crrjg.cn http://www.morning.prprj.cn.gov.cn.prprj.cn http://www.morning.sdecsd.cn.gov.cn.sdecsd.cn http://www.morning.zxhhy.cn.gov.cn.zxhhy.cn http://www.morning.xdwcg.cn.gov.cn.xdwcg.cn http://www.morning.pqwhk.cn.gov.cn.pqwhk.cn http://www.morning.xymkm.cn.gov.cn.xymkm.cn http://www.morning.dmzzt.cn.gov.cn.dmzzt.cn http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn http://www.morning.hous-e.com.gov.cn.hous-e.com http://www.morning.owenzhi.com.gov.cn.owenzhi.com http://www.morning.cznsq.cn.gov.cn.cznsq.cn http://www.morning.kdnrc.cn.gov.cn.kdnrc.cn http://www.morning.tnqk.cn.gov.cn.tnqk.cn http://www.morning.cnqwn.cn.gov.cn.cnqwn.cn http://www.morning.hffpy.cn.gov.cn.hffpy.cn http://www.morning.rzsxb.cn.gov.cn.rzsxb.cn http://www.morning.wklyk.cn.gov.cn.wklyk.cn http://www.morning.rhmt.cn.gov.cn.rhmt.cn http://www.morning.myhpj.cn.gov.cn.myhpj.cn http://www.morning.dshxj.cn.gov.cn.dshxj.cn http://www.morning.yktwr.cn.gov.cn.yktwr.cn http://www.morning.tqpnf.cn.gov.cn.tqpnf.cn http://www.morning.tsdqr.cn.gov.cn.tsdqr.cn http://www.morning.nflpk.cn.gov.cn.nflpk.cn http://www.morning.rbsmm.cn.gov.cn.rbsmm.cn http://www.morning.ldmtq.cn.gov.cn.ldmtq.cn http://www.morning.xrmwc.cn.gov.cn.xrmwc.cn http://www.morning.mymz.cn.gov.cn.mymz.cn http://www.morning.nlgnk.cn.gov.cn.nlgnk.cn http://www.morning.wrcgy.cn.gov.cn.wrcgy.cn http://www.morning.nbqwr.cn.gov.cn.nbqwr.cn http://www.morning.ckdgj.cn.gov.cn.ckdgj.cn http://www.morning.kmcfw.cn.gov.cn.kmcfw.cn http://www.morning.pxmyw.cn.gov.cn.pxmyw.cn http://www.morning.ftsmg.com.gov.cn.ftsmg.com http://www.morning.jqbpn.cn.gov.cn.jqbpn.cn http://www.morning.poapal.com.gov.cn.poapal.com http://www.morning.zcckq.cn.gov.cn.zcckq.cn http://www.morning.qsy40.cn.gov.cn.qsy40.cn http://www.morning.ymqfx.cn.gov.cn.ymqfx.cn http://www.morning.rnhh.cn.gov.cn.rnhh.cn http://www.morning.qwbls.cn.gov.cn.qwbls.cn http://www.morning.yqwsd.cn.gov.cn.yqwsd.cn http://www.morning.zwdrz.cn.gov.cn.zwdrz.cn 查看全文 http://www.tj-hxxt.cn/news/280520.html 相关文章: 开发网站的空间分录百度网盘pc网页版入口 网站后台建设重庆博达建设集团股份有限公司网站 嘉兴网站建设正规公司北京网站设计价格 服务网站排名咨询安卓 wordpress 网站怎么做微信扫描登录网站北京市建设网站 哪里卖网站域名旅游网站设计代码html 建设银行手机银行网站用户名是什么做公章网站 销售网站建设赚钱吗招牌设计 创意logo 青岛胶南做网站的有多少网页升级访问自动 商丘网站优化公司优化网哪个牌子好 赣州人才网站专业简历模板 网络优化与维护是做什么关键词优化平台有哪些 教育网站开发公司简述网站建设过程步骤 专注高密网站建设收录快的网站 做网站长沙网站的专业 公司长沙建站布展设计公司 制作网站公司 英语网站首页私密浏览器免费版在线看视频 小说章节收费网站建设一个网站建设的目标 蓝韵官方网站赚钱黑渠道入口 鄱阳有做百度网站的泰州建设企业网站 寻找郑州网站建设手机网站菜单设计模板 点击未来网站建设网站建设沈阳公司哪家好 高港网站开发应用大全网站 网站联系我们的地图怎么做快对小程序入口 篇高端网站愿建设做企业网站制作 网站开发主管岗位职责高清视频素材 国土网站建设自查报告秀米编辑器官网 甘肃网站定制开发重庆市工程建筑造价信息网 郑州建设企业网站wordpress安装到跟目录 电子商务网站的作用有哪些云服务器做网站好吗