atomic 相关问题

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

Django - 引发异常时不会发生回滚

设置.py 数据库= { '默认': { '引擎': 'django.db.backends.mysql', 'NAME': '女主角', '用户':'根', '密码': '管理员', 'ATOMIC_REQUESTS':正确, '主机':'本地主机...

回答 2 投票 0

用户通过assemble实现的原子操作能否建立同步关系?

考虑一个用户实现的原子对象,下面的代码是伪代码: 结构自旋锁{ 布尔* ptr 无效锁(){ // 移动 eax,假 // 新值 = true while /* 锁定 c...

回答 1 投票 0

不同两个线程中`compare_exchange_strong`中的读操作能否读取到相同的值?

[atomics.types.operations] p23 说: bool Compare_exchange_weak(T& 预期,T 预期,内存顺序成功,内存顺序失败) noexcept; 作用:检索预期值。 那么

回答 1 投票 0

我必须显式调用原子加载/存储吗?

C++11 引入了 std::atomic<> 模板库。该标准指定 store() 和 load() 操作以原子方式设置/获取由多个线程共享的变量。 我的问题是...

回答 2 投票 0

omp 原子写入如何工作?

我面临着 ompatomic 的一些问题。 简而言之,我正在尝试编写一种在多线程环境中更新某些计数器的算法。为此,我正在利用 ompatomic。 从...

回答 1 投票 0

如何以非原子方式访问 std::atomic<int> 的值

我的程序中有一个原子类型的原子变量。在某些地方,我不需要原子地访问其中的值,因为我只需检查它是否为 0。换句话说,在那一瞬间...

回答 3 投票 0

“seq_cst”是否严格强于“acq_rel”或同等强?

严格更强或同等强,我的意思是任何 acq_rel 都可以被 seq_cst 替换,并且这不会削弱 acq_rel 语义提供的任何保证。 当我逐字阅读 cpp 参考资料时:

回答 1 投票 0

对同一对象重新排序宽松的原子操作

http://gcc.gnu.org/wiki/Atomic/GCCMM/AtomicSync 假设 x 最初为 0: -线程1- x.store(1,内存顺序放宽) x.store(2,内存顺序放宽) -线程2- y = x.load (内存_顺序_放松...

回答 1 投票 0

ARM 32 位 MCU 上的原子 64 位计数器,无锁

在 ARM Cortex M 32 位上,在 C 下,我需要维护一个 64 位计数器。我想避免像这样的竞争条件: 开始: 计数 = 0x00000000 ffffffff 线程A:递增count_low 可以...

回答 1 投票 0

CUDA:通过原子操作实现释放锁

GPU:Quadro RTX 4000 CUDA:11.7 我已经通过原子操作实现了全局锁,例如: __global__ void floatAddLockExch(float* addr, 易失性 int* 锁) { 布尔傻瓜=真; 同时(傻瓜...

回答 1 投票 0

如何原子地否定 std::atomic_bool?

天真的布尔否定 std::atomic_bool b; b = !b; 似乎不是原子的。我怀疑这是因为运营商!触发转换为普通布尔值。如何原子地执行等效的操作

回答 1 投票 0

这是原子读写布尔值的正确方法吗?

布尔标志由两个线程切换。下面的代码有意义吗? 静态布尔 ATOMIC_BOOL_READ( 易失性布尔& var ) { 返回 __sync_fetch_and_or(&var, 0); } 静态空虚

回答 3 投票 0

一致性协议和存储缓冲区

考虑下面的代码: std::atomic a = 100; --- 中央处理器0: a.store(101, std::memory_order_relaxed); --- 中央处理器1: int tmp = a.load(std::memory_order_relaxed); // 假设 `tmp` 是 101。 让我们...

回答 1 投票 0

如何初始化atomic_flag数据成员?

我正在尝试使用atomic_flag 实现自旋锁。我知道使用 C++11,我必须初始化atomic_flag 数据成员,但我无法编译它。我的代码如下所示: SPI 类...

回答 2 投票 0

如何初始化静态 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

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