atomic 相关问题

原子操作是不可分割的。该术语用于描述数据库中的事务,多线程程序中的低级访问以及文件系统操作等。

如何初始化静态 std::atomic 数据成员

我想以线程安全的方式为名为 order 的类生成标识符。下面的代码无法编译。我知道原子类型没有复制构造函数,并且我假设

回答 3 投票 0

如何优雅地对 std::atomic 数组进行零初始化?

假设我有一个包含 std::atomics 成员数组的类,其中 数组的大小是通过计算确定的(即它可能会根据程序中其他地方的其他常量而改变): 类 Foo { 静态

回答 1 投票 0

C++11 中原子变量的复制初始化

C++11中的原子变量可以全局初始化吗? 例如: std::atomic_intturnX = 5; int main() { /* ... */ } 这失败了: 错误:删除了函数‘std::atomic::atomic...

回答 2 投票 0

c++0x 中原子变量的初始化

c++0x中的原子变量可以全局初始化吗? 例如 原子整型turnX = 5; int main(){ .... } 失败了 错误:删除了函数‘std::atomic::atomic(const std::atomic&)’ 我...

回答 2 投票 0

Django 嵌套事务 - “with transaction.atomic()”

我想知道我是否有这样的事情: def 函数A(): 使用 transaction.atomic(): #保存一些东西 函数B() def 函数B(): 使用 transaction.atomic(): ...

回答 2 投票 0

memset 操作是“线程间发生在之前”吗?

C++ 内存操作,使用原子,针对变量 x。 std::atomic x; 字符缓存[1024]; 主题 1: memset(缓存, 0, 1024); x.store(20, std::memory_order::release); 话题2: 在...

回答 1 投票 0

(C++)memset 操作是“线程间发生在之前”吗?

C++ 内存操作,使用原子,针对变量 x。 std::atomic x; 字符缓存[1024]; 主题 1: memset(缓存, 0, 1024); x.store(20, std::memory_order::release); 话题2: 在...

回答 1 投票 0

清除对 stringbuilder 的原子引用的最有效方法是什么

如果我有一个对 StringBuilder 的 AtomicReference 定义如下: 私有 AtomicReference stringBuffer = new AtomicReference<>(new StringBuilder()); 哪种方法最适合

回答 1 投票 0

如果在悬空指针上调用“compare_exchange_weak”会发生什么?我教科书上的代码安全吗?

我觉得在这个用 C++ 实现无锁堆栈的示例中可能存在悬空指针:行动中的并发。作者安东尼·威廉姆斯为锁提供了一个开始-

回答 1 投票 0

全局变量是否由三个线程(2 个写入器,1 个读取器)访问,没有任何可能未定义的同步?

在windows/linux多线程C程序中,如果一个unsigned int全局变量在没有任何同步的情况下被三个线程访问,其中 线程1写入值0 线程 2 写入值

回答 1 投票 0

C/C++ 中原子按位与字节的最佳方法?

目前正在使用GCC查看C/C++中的原子操作,发现内存中自然对齐的全局变量具有原子读取和写入。 然而,我试图按位与全局

回答 1 投票 0

`std::memory_ordering`的值会影响原子对象上的编译器重新排序和硬件指令吗?

我想知道,std::memory_ordering类型的参数值只是提示编译器如何对代码进行重新排序,还是该值也影响操作原子操作的指令的选择...

回答 1 投票 0

如何用 C++ 在 Cortex-M4 上编写原子 RMW 序列

在下面的示例中,有 4 个版本对变量 a1 或 a2 (取决于版本)进行原子递增(或使用其他形式的 rmw 语句)。变量 a1 或 a2 可以与某些人共享...

回答 1 投票 0

C++ 使用获取-释放语义原子地执行 if-not-equal-then-increment?

下面我有一些锁的实现。 如果 m_counter != -1,则锁可用。如果此条件成立,则递增 m_counter。 是否可以原子地/CAS 和我们实现 != 和 ++...

回答 1 投票 0

我可以使用非原子布尔值来同步两个线程之间的共享向量,其中一个线程正在读取,另一个线程正在写入?

我希望创建一个快速同步模型来在两个线程之间共享消息队列。我正在查看一个包含一个向量、一个互斥体和一个脏标志的类,如下所示。 #包括 #

回答 2 投票 0

英特尔文档,原子访问描述没有意义

我想知道这句话的意思,解析。 对适合高速缓存行的高速缓存内存进行未对齐的 16 位、32 位和 64 位访问 我实在看不懂,想了解一下...

回答 1 投票 0

Python:原子操作

在有一组函数作为一个原子操作按顺序运行的场景中。如果其中任何一个由于某种原因失败,则操作必须回滚。 Python 有没有什么工具可以实现...

回答 1 投票 0

Cortex-M4:uint64_t的原子读写

我看了好几遍,Cortex-M4 不支持 LDRD/STRD 指令。但是当我尝试使用 gcc 13.2 时,我得到了这些说明。例如。对于 uint64_t,x3 = x1 给出: ldrd r2, [r0] @ x1.0_...

回答 1 投票 0

我总是需要通过互斥/原子来保护变量吗?

假设我有很多线程和一个简单的、可简单复制的非数组(基本类型,如 float、uint16_t 等)变量,称为 flag。一个且只有一个线程经常设置变量的值...

回答 2 投票 0

ConcurrentHashMap 原子获取、增量和替换

有没有一种简单的方法可以从 ConcurrentHashMap 中获取、递增和替换整数? ConcurrentHashMap 映射; 假设每个值都已经是初始值...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.