当前位置: 首页 > news >正文

低价网站建设机构专业团队张伟图片

低价网站建设机构,专业团队张伟图片,网站做强制解析,上海市工程建设监理协会网站原子操作#xff08;atomic operations#xff09;是多线程实现的基石#xff0c;互斥锁#xff08;mutex#xff09;和条件变量#xff08;condition variable#xff09;都是通过原子操作来实现#xff1b;std::sync::atomic包括了rust的内置原子操作类型#xff08…原子操作atomic operations是多线程实现的基石互斥锁mutex和条件变量condition variable都是通过原子操作来实现std::sync::atomic包括了rust的内置原子操作类型如AtomicI32, AtomicUsize等大部分依赖于硬件架构和操作系统来实现几乎所有的平台platform都提供了至少在指针pointer级别的原子类型每个原子操作都有一个参数std::sync::atomic::Ordering决定了我们想要这些原子操作内部进行的相对顺序最宽松的顺序是Relaxed在线程A里先对变量X做了写操作然后迅速对变量Y做写操作在Relaxed的顺序下某线程B可能看到的顺序是先改变Y再改变Xload(self, ordering: Ordering), store(self)的第一个参数表示是一个共享引用shared referenceT而不是互斥引用exclusive referencemut T但是仍然可以改变T的值Fetch-and-Modify操作把获取-更改作为一个原子操作返回更改前的值同时要注意fetch_add() 和 fetch_sub()实现了溢出行为wrapping behaviour具体实现详见Page37Page38给出了一个经典的move语义的编译器检查问题for t in 0..4中t的生命周期与后面spawn的线程的生命周期的冲突问题注意atomic类型没有实现Copy特征但是实现了Sync表示它的共享引用T可以在多线程中传递Page41给出了一个生成唯一ID的用例如何确保每次生成的ID唯一并且不溢出第一个方案是当ID超过某个数字时使之Panic通过assert或者std::process::abort停掉该进程第二个方案是同时用fetch_sub来减少ID的数值第三个方案使用了compare-and-exchange操作这里第一个方案正好是标准库中Arc::clone()用来处理borrow个数的方法第二个方案是thread::scope用来处理一个scope中同时有多少个线程的ID的方法compare_exchange(self, expected:i32, new:i32, success_order: Ordering, failure_order:: Ordering)的签名比较复杂但是可以用来实现所有其他的原子操作Page43给了一个用compare_exchange来实现fetch_add的实例当ABA problem出现的时候使用compare_exchange_weak()会更加有效及时当前的值与expected相等也有可能返回Err这种情况是为了应对可能出现的欺骗性compare-and-exchange也就是ABA问题在load完成后的很短时间内修改atomic的值后又修改回来企图欺骗编译原值并没有变化但实际上进行过变化fetch_update()方法等同于load()之后使用一个loop计算更新值然后调用compare_exchange_weak来确保update的正确性使用方法见Page45Page46给出了一个情景使用compare_exchange()比使用compare_exchnage_weak()更高效使用std::sync::Once和std::sync::OnceLock可以解决单例中generate_random_key()耗时过长但又不想重复调用的场景确保某个静态变量只会初始化一次
http://www.dnsts.com.cn/news/121285.html

相关文章:

  • wordpress 导入网站模板安论坛网站建设
  • 做英文网站哪里好云南旅游攻略6天5晚多少钱
  • 东莞深圳网站建设建设网站得多少钱
  • 上海专业建站公自己做网站花费
  • 中国购物网站排行榜中华建设杂志社网站
  • xuzhou网站制作网络平台开发
  • 网站建设文件夹名字如何建设一个优秀的电商网站
  • 环保网站建设方案wordpress载入等待
  • 常德外贸网站优化推广天宁常州做网站
  • 深圳公明网站制作wordpress 文章的各种调用
  • 装修找客户去哪个网站vue开发视频网站
  • 网站制企业类网站有哪些
  • 室内外设计网站开发技术和seo的联系
  • svn教程图文详解 - 青岛网站建设人人建站网
  • 自助建站申请房山 网站建设
  • 网站建设论文设计怎么打造自己的网站
  • 乐山网站建设建立网站有哪些步骤
  • 网站美工怎么做太原网站搜索引擎优化
  • 番禺做网站价格涟源网站建设
  • 章丘营销型网站建设二维码公众号怎么制作
  • 有服务器做网站推广手段
  • 做淘宝网站目的是什么开网店的流程及程序
  • 石家庄市高新区建设局网站九台区建设银行网站
  • 2017网站开发合同下载赤峰市住房和城乡建设局官方网站
  • 驾校报名网站怎么做官方wordpress模板下载
  • 辽宁网站建设多少钱网站快速建设入门教程
  • 网站标题权重官方网站查询叉车证
  • 网站设计 知识产权中国建设银行网站解绑手机
  • 网站空间免费申请生产建设网站基坑开挖深度
  • 网站做两个版本网站系统建设的目标