Atomic operations are indivisable; they have either fully completed, or they haven’t happened yet.

阳了先记下来,后面再做视频。原子(Automic)操作是不可再分的操作,要么全部执行完成,要么全部不执行。

Atomic operations in Rust are done through the atomic types in std::sync::atomic , such as AtomicI32 .

在Rust中原子操作通过std::sync::atomic模块下的原子类型提供,比如:AtomicI32.

Not all atomic types are available on all platforms.

并不是所有的原子类型在所有平台上都有提供

The relative ordering of atomic operations is tricky when multiple variables are involved.

涉及多个变量时原子操作的相对顺序是需要特别注意的地方。

Simple loads and stores are nice for very basic inter-thread communication, like stop flags and status reporting

简单的存取(load和store)适用于比较简单的线程内部通信,比如:停止标志,状态报告。

Lazy initialization can be done as a race, without causing a data race.

懒初始化可以在竟态的环境中完成而不引起数据竞争。

Fetch-and-modify operations allow for a small set of basic atomic modifications that are especially useful when multiple threads are modifying the same atomic variable.

获取后修改(Fetch-and-modify)操作在多个线程中修改同一个原子变量时比较有用。

Atomic addition and subtraction silently wrap around on overflow

需要注意原子类型做加减操作时如果发生了溢出,是不会报错的。

Compare-and-exchange operations are the most flexible and general, and a building block for making any other atomic operation.

比较后交换(Compare-and-exchange)操作比较灵活通用,也是实现其它类型操作的基础。

A weak compare-and-exchange operation can be slightly more efficient.

弱比较后交换(weak compare-and-exchange)操作可能更高效

Rust Atomic总结笔记相关推荐

  1. 基于Rust的Web开发,actix的基本使用

    基于Rust的Web开发,actix的基本使用 rust-web 环境搭建 url路径参数传递 get请求参数传递 post请求表单参数传递 post请求Json参数传递 rust-web Rust语 ...

  2. [收藏]可能是史上最全免费编程书籍

    目录 语言无关 IDE MySQL NoSQL PostgreSQL Web WEB服务器 其它 函数式概念 分布式系统 在线教育 大数据 操作系统 数据库 智能系统 正则表达式 版本控制 程序员杂谈 ...

  3. 各种开发测试相关免费学习书籍

    https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md 免 ...

  4. GitHub编程资源分享

    源参考链接:https://github.com/crane-yuan/free-programming-books/blob/master/free-programming-books-zh.md ...

  5. 程序员必备学习资源资料库!!!免费开发书籍中文版大全

    语言无关 IDE IntelliJ IDEA 简体中文专题教程 Web 3 Web Designs in 3 Weeks Chrome 开发者工具中文手册 Chrome扩展及应用开发 Chrome扩展 ...

  6. 史上最全的软件工程师资料收集

    目录 语言无关 IDE MySQL NoSQL PostgreSQL Web WEB服务器 其它 函数式概念 分布式系统 在线教育 大数据 操作系统 数据库 智能系统 正则表达式 版本控制 程序员杂谈 ...

  7. GiHub 干货(主要还是看原文链接)

    好吧,来篇干货吧! 转自公众号:CYblog 这篇干货可是十分干的,请自备好茶水,^_^. 原文链接:https://github.com/crane-yuan/free-programming-bo ...

  8. 免费编程书籍-中文版

    语言无关 IDE IntelliJ IDEA 简体中文专题教程 MySQL 21分钟MySQL入门教程 MySQL索引背后的数据结构及算法原理 NoSQL Disque 使用教程 Neo4j .rb ...

  9. atomic原子类实现机制_JUC学习笔记--Atomic原子类

    Atomic 原子操作类包 Atomic包 主要是在多线程环境下,无锁的进行原子操作.核心操作是基于UnSafe类实现的CAS方法 CAS CAS: compareAndSwap :传入两个值:期望值 ...

  10. Rust:Structuring and handling errors in 2020学习笔记

    Rust: Structuring and handling errors in 2020- 学习笔记 直接上菜, 首先介绍两个新的Crate用于Rust Error处理,anyhow 和thiser ...

最新文章

  1. 对称密码获取(OJ)
  2. JavaScript的面向对象特性
  3. 【今日CV 计算机视觉论文速览 第106期】Fri, 26 Apr 2019
  4. SVN版控系统的安装和使用
  5. 编译器--简单数学表达式计算器(一)
  6. 开启 TLS 1.3 加密协议,极速 HTTPS 体验
  7. MySQL数据库的多种连接方式及工具
  8. Why do we insist? 打卡
  9. Java面向对象练习题之银行卡类和用户类
  10. 单TYPE-C口 可支持快充又可传输USB2.0数据方案
  11. Window系统安装FFmpeg
  12. win7系统启动到一半停止_win7系统装一半死机的解决方法
  13. java 操作execl添加边框
  14. day04 【Map】
  15. 剖析Oculus Rift的Room Scale功能设计
  16. WPE LOD(应力效应)
  17. SQL中内部表和外部表的区别
  18. maya python
  19. java 读取文本 读取每行字符串
  20. iso 信息服务器,什么是ISO20000信息技术服务管理?什么是GB/T24405?

热门文章

  1. Unable to establish SSL connection.
  2. 经典蓝牙Inquiry过程的跳频
  3. 磁共振t1t2信号记忆顺口溜_核磁共振诊断报告中的T1T2信号是什么意思?
  4. “逆鬼”muma企图隐蔽发展 被360独家击杀
  5. css 间隙,CSS间隙属性
  6. 云原生安全构筑下一代企业安全架构
  7. Lattice系列FPGA
  8. python的编码 encode
  9. S32K144之SDK版:FTM定时器(测试打印系统信息)
  10. DNF—警告码(0,20003,116)您的游戏环境异常,请重启机器后再试—不管win几都行的解决方法