- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
查看the std::sync::atomic
module , 可以看到一堆不同的 Atomic*
类型,例如 AtomicU32
, AtomicI16
和更多。这是为什么?
Rust 有泛型,而且——正如我所见——可以添加一个泛型 Atomic<T>
其中 T
受模块中定义的某些特征的限制(Java 式命名:Atomicable
)。该特征将由可以以原子方式处理的类型实现,用户可以只使用 Atomic<u32>
。而不是 AtomicU32
.
为什么没有通用的 Atomic<T>
?为什么要有一堆不同的类型呢?
最佳答案
拥有 AtomicU8
的目的(例如)正在使用底层硬件执行 atomic instructions ,例如在 x86 上 CMPXCHG
instruction .
原文RFC #1505建议 Atomic<T>
类型。 One of the main concern was ,人们会使用 T
以一种意想不到的方式,例如使用 Atomic<[u8; 32]>
这不可能支持,因为缺乏支持这些的硬件。
使用 Mutex
的回退/解决方法被提议了,但感觉就像作弊,因为编译器对不同的 T
会有不同的行为。
It was finally closed赞成RFC #1543它引入了我们今天所知的原子 {I,U}{8,16,32,64} 类型。
然后在 PR #33048 中实现并稳定在 PR #56753这是 Rust 1.34.0。
为确保底层硬件真正支持类型具有 cfg 属性的原子操作,例如对于 AtomicI8
它是 #[cfg(target_has_atomic = "8")]
, 对于 AtomicI16
它是 #[cfg(target_has_atomic = "16")]
等等。
关于rust - 为什么许多原始类型都有一个 `Atomic*` 类型而不是通用的 `Atomic<T>` 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57075531/
我知道我应该指定 argtypes对于我的 C/C++ 函数,因为我的某些调用会导致堆栈损坏。 myCfunc.argtypes = [ct.c_void_p, ct.POINTER(ct.c
我正在从 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators 学习 Itera
在我的数据库中,我有一个类别表。类别可以有父类别,使其成为递归关系 我还有一个产品表。每个产品都属于一个类别。 例如,我有一棵树,如下所示: Category Sub-Category 1
定义列表要求每个 会有标签? 例子: option1 每个 存在他的如果 空: value1 name2 value2 选项 2 每个 不存在他的如果空: value1 name2 value
我制作了一个脚本,它在开始时检查操作系统版本。 它读取/etc/os-release 文件,并检查操作系统是否为 CentOS 7。 但我不确定我是否可以确保每个 CentOS 7 都有那个文件。 其
我一直在使用 webapi 设置一个 mvc 项目。我可以正常工作,但我不知道为什么我的 GET 调用的 URL 中有附加部分。 示例: /api/User/Zholen?_=137349028082
我创建了具有 ACTIVE BOOL 的基类 class BaseTest{ public: bool active = false; BaseTest(){ // make
.parent { background-color: yellow; display: flex; justify-content: space-evenly; } .parent >
完整的错误是: AttributeError: Neither 'ColumnClause' object nor 'Comparator' object has an attribute 'desc
我的 GUI 中有一些功能可以随着时间的推移更新给定的文本组件。理想情况下,我希望它接受任何具有 getText/setText 方法的内容。使用 JTextField 和 JTextPane 可以轻
我是一名优秀的程序员,十分优秀!