atomic 相关问题

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

原子操作有内存顺序问题吗?

原子操作之间是否存在关系,例如原子也需要内存顺序?对于代码: 静态整数零 = 0; static int proc_enter(struct proc_context* ctx, st...

回答 0 投票 0

内存控制器如何在传播缓存行时保证原子的内存顺序?

我目前正在深入研究 std::atomics 和 C++ 内存模型。真正帮助我建立思维模型的是 CPU 的存储和加载缓冲区的概念,它基本上是一个 fifo 队列...

回答 1 投票 0

有什么方法可以从文件 C++ 中自动读取一行

我目前正在做一个项目,我有一个大文本文件(15+ GB),我试图在文件的每一行上运行一个函数。为了加快任务的速度,我创建了 4 个线程和

回答 2 投票 0

用原子读/写内存实现锁的好方法是什么? (不是 RMW!)

众所周知,使用原子读/写内存(您可以原子地读或写)不可能以无等待的方式解决 >= 2 个进程的共识。我意识到...

回答 0 投票 0

C11内存栅栏和原子操作

我正在研究记忆障碍。 我对以下代码有一些疑问。 //版本 1 线程 A: *val = 1; atomic_thread_fence(memory_order_release); atomic_store_explicit(发布...

回答 1 投票 0

“AFTER UPDATE”触发“FOR EACH ROW”是原子的吗?

每当原始行被修改(更新)时,我想在“历史”表中插入一行。我想使用原始行的 ID 作为历史表的 FOREIGN KEY。但是这个ID ...

回答 0 投票 0

c++ 中的原子指针和线程间对象传递

我的问题涉及std::atomic和这个指针指向的数据。如果在线程 1 中我有 对象A; std:atomic ptr; 整数栏 = 2; A.foo = 4; //foo 是一个整数; ptr.st...

回答 2 投票 0

单个作者和多个读者的单次写入并发

NOTE:本题与其他并发题不同的是,不仅writer是单一的,而且write操作严格发生一次。 Go to 中有什么同步方法...

回答 1 投票 0

如何以原子方式检查 ArrayList 是否包含元素? [重复]

比方说,我们正在尝试将几个元素添加到 ArrayList 中。同时,在同一个列表中搜索 list.contains(givenElement)。 那么,我们如何在没有 l... 的情况下实现线程安全

回答 1 投票 0

编译器能否优化掉没有按任何内存栅栏排序的放宽内存顺序的访问?

考虑以下代码: #包括 std::atomic 标志; 无效线程 1() { flag.store(true, std::memory_order_relaxed); } 空线程 2() { while (!flag.load(std::

回答 1 投票 0

在 C/C++ 中如何确保内存写入是在读取之后?

我最近在研究 C/C++ 中的 memory_order,我已经阅读了 https://en.cppreference.com/w/cpp/atomic/memory_order , https://gcc.gnu.org/wiki/Atomic/GCCMM /AtomicSync ,但对

回答 0 投票 0

C++ 对 `__atomic_load_16' 的未定义引用

尝试对 16 字节块进行原子加载时出现链接错误。我有以下代码: #包括 结构我的结构{ 长 x;长 y; }; 结构 X{ 标准::原子<

回答 1 投票 0

为什么 std::fetch_add 返回旧值?

是什么设计目的或技术限制使得std::fetch_add的返回值是改变前的值?

回答 1 投票 0

Atom 包安装错误,如何解决?

错误截图 我试图为飞镖安装必要的文件,我更新了 Atom,删除了旧的 MinGW,并重新安装了 MinGW,如果相关的话。然后我尝试安装

回答 0 投票 0

在记忆顺序上,relaxed和acquire有什么区别?

使用 std::sync::atomic::AtomicPtr; fn get_data() -> &'静态数据{ 静态 PTR:AtomicPtr = AtomicPtr::new(std::ptr::null_mut()); 让 mut p = PTR.load(Acquire); 如果 p.

回答 0 投票 0

std::atomic_ref 需要对齐

根据 cppreference,硬件可能要求 atomic_ref 引用的对象比其他 T 对象具有更严格的对齐方式,并且 atomic_ref 上的操作是否...

回答 1 投票 0

如何在 C++ 中将数据初始化保护到一个线程

使用现代 C++ 来拥有一些由一个线程初始化的共享内存的最佳方法是什么,第一个到达这一点,然后由多个线程读取。它需要尽可能轻巧……

回答 3 投票 0

任意大小的数据/向量/数组的原子和无锁写入

我正在尝试实现以下功能: 具有任意大小的数据类型的原子和无锁写入或读取-修改-写入(在我的例子中通常是一个具有最多 6 个元素的 float/int 向量...

回答 1 投票 0

MPI_ACCUMULATE 和 MPI_REPLACE 总是比 MPI_PUT 更好的选择吗

我正在经历 MPI-3 中引入的累积和原子 MPI RMA 调用。阅读后我发现有一个 MPI_REPLACE 运算符可以在 MPI_Accumulate 中使用来执行...

回答 1 投票 0

Sqlite 自动读取和更新计数器?

我正在尝试使用 Python 提供的 SQLite 实现一个简单的计数器。我正在使用 CGI 编写简单的动态网页。这是我能想到的实现计数器的唯一简单方法。公关...

回答 3 投票 0

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