atomic 相关问题

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

以原子方式对 firestore 中的大量文档进行重新排序

列表最多可以包含 100000 个文档,并使用整数字段排序。 由于每个事务或批量写入的原子操作限制为 500 个,因此更新排序字段需要分多次完成...

回答 1 投票 0

使用条件变量从多个生产者线程向消费者线程发出信号的最有效方法

我有 N 个工作线程,它们执行另一个消费者线程正在等待的计算。 我用一个条件变量(CV)和一个从 N 开始的原子计数器来做到这一点,每个工人法令......

回答 1 投票 0

std::atomic<int> 与与本机单词对齐的 int 变量,哪个更好?

#包括 #包括 对齐(sizeof(void*)) int n1; std::atomic n2; int main() { std::thread 线程[32]; for (自动&线程: 线程) {

回答 1 投票 0

忙于等待atomic<bool>

编译器可以在紧密的无限循环中提升对原子变量的检查吗? std::atomic 就绪 = false; 无效运行(){ while(!准备好){} // ... 做一点事 } 编译器有没有...

回答 1 投票 0

为什么 std::memory_order_acq_rel 在 C++11 中总是触发警告?

我的编译器是clang 18.1.0-rc1;以下代码会触发两个警告: #包括 std::atomic n; int main() { // 警告:原子操作的内存顺序参数...

回答 1 投票 0

java原子属性正确的getter和setter是什么

我在Java中有一个原子布尔属性 私有 AtomicBoolean 输入数据集结束; 该属性的正确 getter 和 setter 是什么?每个选择的后果是什么?我可以回来...

回答 1 投票 0

这种获取-释放关系是如何运作的?

在 Rust Atomics 和 Locks 中,建议使用或多或少的以下代码来正确实现简化 Arc 的 drop 特征:(代码是我的) 不安全{ 如果 1 == (*自己...

回答 1 投票 0

如果必须检查溢出或有条件地执行操作,std::atomic 是否是多余的?

例如,您可以安全地递增和递减 std::atomic_int 。但是,如果您需要检查溢出或根据该值有条件地执行某些例程,那么无论如何都需要锁。罪恶...

回答 1 投票 0

C++11 原子是否自动解决变量读写上的多核竞争?

我知道当多个线程读写变量时,atomic会在类型“T”变量上应用锁,确保只有其中一个线程正在执行读/写操作。 但在很多...

回答 2 投票 0

你能监听缓存一致性流量来实现链接加载和条件存储吗?

我有点想为 x86-64 实现一种 LL/SC 形式(最有可能是 Saphire/Emerald Rapids)。看来缓存拥有执行此操作所需的所有信息,但我需要知道缓存行何时

回答 1 投票 0

并发非原子写入从不读取内存安全吗?

注意:不是这个问题的重复。 假设某个内存区域永远不会被读取,那么并发非原子写入何时对它来说是安全的?这与语言无关,主要与 CPU 架构相关

回答 1 投票 0

为什么原子不能与自动变量一起使用

我不确定以下语句有什么问题,它给了我编译错误。我们不能将“auto”与原子变量一起使用吗? #包括 #包括 #包括<

回答 2 投票 0

如何在C/Linux中实现双字比较和交换?

我正在阅读论文《简单、快速、实用的非阻塞和阻塞并发队列算法》,我意识到他们假设计算机实现了以下功能

回答 2 投票 0

std::atomic<bool>::wait 与 std::condition_variable::wait

我有一个单一生产者、单一消费者的用例,其中消费者会阻塞,直到生产者提供新数据为止。 以下是实现此目的的两种同步方法: 新 C++20

回答 1 投票 0

Kafka源码中CopyOnWriteMap的线程安全问题

我正在阅读kafka-0.10.1的源代码,并对CopyOnWriteMap类有疑问,这里是该类的部分实现: 公共类 CopyOnWriteMap 实现

回答 1 投票 0

使用原子减少多线程 C++ 代码中的互斥锁数量

我的多线程代码有 3 个不同的部分,可以这样描述: (1)不受互斥锁保护: 这部分代码仅对本地和 thread_local 变量以及全局变量进行工作

回答 1 投票 0

Cortex-M4 中的未对齐访问是原子的吗?

在ARM文档中,它提到 Cortex-M4 处理器支持 ARMv7 未对齐访问,并且 将所有访问作为单个、未对齐的访问来执行。他们是 转换成两个或...

回答 1 投票 0

ftruncate() 是异步的吗?

我正在尝试用 C++ 编写一个类,它提供了一种原子追加到文件的方法,即使在写入过程中出现电源故障的情况下也是如此。 首先,我写入当前文件位置(64 位偏移量

回答 1 投票 0

为什么在intel cpu上对锁定内存的访问不对齐读取中间值?

我现在正在研究未对齐的内存访问。 根据intel文档,Lock指令使用总线锁定跨两个缓存线的内存。 (我有一个“酷睿 i7”CPU。) 9.1.2 总线锁定 英特尔 64 和 ...

回答 1 投票 0

是否有一个平台没有本机指针大小的原子,但具有其他大小的原子?

我正在对广泛使用的开源库进行重构,并希望使其尽可能健壮。 目前,如果支持的话,它使用原子 size_t 变量,但我想知道它是否会错过一些

回答 1 投票 0

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