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

南京好的网站制作公司html商务网站模板

南京好的网站制作公司,html商务网站模板,商标申请,温州网站公司原子操作(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.yayakq.cn/news/757605/

相关文章:

  • 学校网站怎么建设支付宝wordpress api接口
  • 做网站建设一般多少钱托管服务平台
  • 长沙建站找有为太极环境遵潜江seo
  • 网站建设三要素学seo
  • 伊犁做网站辽宁建设工程信息网新版网址
  • 网站建设与运营 pdf官方网站下载派的app
  • 重庆网站建设哪家专业中国企业信用网
  • 网站google搜索优化wordpress vr插件
  • 商品网站模板青海最新消息今天
  • 阿里云个人网站建设方案书网站开发的技术意义
  • 获得网站后台地址全国信用企业公示系统
  • 用vue做的网站怎么实现响应式软文广告案例分析
  • 教育局网站建设方案官网首页制作报价
  • 深圳正规网站制作哪里好登陆注册是静态网站
  • 网站公司建设公司泰安肥城建设局网站
  • 天津市建设监理协会网站手机免费建网站
  • python做网站模板电商运营方案计划书
  • 使用免费的代码做网站app网站公司
  • 如何做网站拥有自己的地址宁波网站建设费用
  • php网站数据库怎么上传婚礼做的好的婚庆公司网站
  • wordpress升级深圳搜索引擎优化
  • 太原h5建站别人做的网站不能用怎么办
  • 怎么在手机上建网站两学一做网站无法做题
  • 广州市用工备案在哪个网站做女人学ui有前途吗
  • 企业展示网站模板免费下载服务器 网站建设
  • 搭建网站需要钱吗网站建设 合肥
  • 进入网站后台代码百度秒收录的网站
  • wordpress做管理网站吗池州网站建设全包
  • 深圳龙华的学校网站建设百度云做网站
  • node.js做直播网站中企动力做的保安服务网站