atomic 相关问题

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

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

我有点想为 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

在刷新和取消映射之前,我是否需要同步从不同线程对内存映射文件的写入?

假设我有内存映射文件并从不同的线程写入它(写入永远不会重叠并且彼此独立)。我想将已经写入的数据与磁盘同步并执行...

回答 1 投票 0

在刷新和取消映射之前,我是否需要同步从不同线程对内存映射文件的写入?

假设我有内存映射文件并从不同的线程写入它(写入永远不会重叠并且彼此独立)。我想将已经写入的数据与磁盘同步并执行msyn...

回答 1 投票 0

MySQL 中的过程是原子的吗?

正如标题所说,MySQL 中的过程是原子的吗?即会像 为了 (..) 为了 (..) 原子地工作? 有趣的是,我找不到...

回答 2 投票 0

MySQL 中的过程和函数是原子的吗?

正如标题所说,MySQL 中的过程和函数是原子的吗?即会像 为了 (..) 为了 (..) 原子地工作? 有趣的是,我...

回答 2 投票 0

MySql 存储过程是原子的吗?

如标题所说,MySQL中的存储过程是原子的吗?即会像 为了 (..) 为了 (..) 原子地工作? 有趣的是,我可以...

回答 2 投票 0

使用 std::atomic_flag 作为同步机制删除共享状态是否安全

我有一个由两个线程同时使用的共享状态。在某些时候,两个线程都使用共享状态完成;它已经没有用了,必须删除。 问题:安全/接受...

回答 1 投票 0

如何在 PostgreSQL 中实现`BEGIN ATOMIC`

PostgreSQL 中的 Sybase BEGIN ATOMIC 相当于什么? 它应该是这样的: 创建或替换函数 my_func() 返回整数 作为 $$ 开始 开始原子 更新陈述1; ...

回答 2 投票 0

为什么不必要的原子加载没有被优化掉?

让我们考虑一下这个简单的代码: #包括 std::atomic a; 无效 f(){ for(int k=0;k<100;++k) a.load(std::memory_order_relaxed); } MSVC, Clang and GCC all p...

回答 1 投票 0

为什么许多无锁链表的实现都假设列表中的项是唯一的?

我正在基于此存储库和多处理器编程艺术一书的第 9.8 章在 C 中实现我的无锁链表。我认为它们是基于哈里斯的论文。我...

回答 1 投票 0

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