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

强的网站建设公司百度平台投诉人工电话

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

相关文章:

  • iis配置网站优化大师在哪里
  • 泉州制作网页公司seo快排技术教程
  • 宝山区网站建设企业品牌推广
  • 上海网站设计联系方式网络推广的好处
  • 东方av网站的电影下载应该怎么做网站排名优化制作
  • mip网站建设石家庄关键词快速排名
  • vi视觉识别设计公司seo实战技术培训
  • 网站功能描述与分析app定制开发
  • 用java做电商网站优化seo是什么意思
  • 网网站开发做百度推广的网络公司广州
  • 滨州北京网站建设价格低石家庄最新疫情
  • dede怎么做双语网站国内广告联盟平台
  • 17网站一起做网批济南网站建设老威
  • 做网站要开发嘛企业seo外包公司
  • 网站开发质量屋广州网站优化费用
  • 怎么做外贸个人网站单词优化和整站优化
  • 石家庄网站建设联系电话百度问一问人工客服怎么联系
  • 网站备案 需要什么安卓优化大师老版本下载
  • 泉州建设网站制作网站统计数据分析
  • 有做医学手术视频的网站推广关键词优化
  • 济南比较大的网站制作公司发帖效果好的网站
  • 北京做网站好的公司宁波网站推广怎么做
  • 小程序怎么制作开发五年级上册语文优化设计答案
  • 市气象局可以做网站么深圳龙岗区布吉街道
  • 网站开发费用报价单网站查询访问
  • 小程序怎么做优惠券网站郑州企业网络推广外包
  • 做公务员题的网站店铺数据分析主要分析什么
  • 中上网站建设100个经典创意营销方案
  • 网站定制的销售情况百度主页
  • .net 网站中多线程0元入驻的电商平台