gpt4 book ai didi

multithreading - 使用 atomic_init 而不是 atomic_store 有什么优势吗?

转载 作者:行者123 更新时间:2023-12-01 13:49:27 26 4
gpt4 key购买 nike

我阅读了 cpp 文档并理解了这一点

Atomic_init
- 是非原子的并且容易发生数据竞争(所以它有问题) - 从指令中的“init”一词来看,我认为它必须用于第一次初始化变量。

Atomic_store - 以原子方式将值存储到原子变量中

那我们为什么不用atomic store来初始化变量呢?如果是这样,为什么他们有 atomic_init?

使用 atomic_init 比使用 atomic_store 有什么优势吗?

最佳答案

通常,您不需要以原子方式初始化任何内容,因为这意味着多个线程正在竞争使用未初始化的内存。

通常,内存在构造/初始化期间是单线程的,但随后,它以其他线程可以开始使用它的方式“发布”。

在全局原子的情况下,通常您会在更多线程存在之前尽早初始化它们。

使用 Atomic_init 的优点是明确表示初始化,并绕过少量开销。

关于multithreading - 使用 atomic_init 而不是 atomic_store 有什么优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33070445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com