memory-barriers

memory-barriers

文章 0 浏览 7

C++

我已经阅读了有关 std :: memory_order 在C ++中的信息,并部分理解。但是我仍然对此有一些疑问。 no读取或写入。这是否意味着编译器和CPU不允许移动…

等你爱我 2025-02-13 17:36:56 1 0

如何确保其他核心可见写作

我有以下情况: 过程1(核心1): set_nonzero_8byte_posix_shm_memory_to_zero(); run_a_function(); 过程2(在核心2上): uint64_t v = read_that_…

锦欢 2025-02-13 03:03:18 0 0

原子SEQ_CST内存顺序如何实际工作?

例如,有共享变量。 int val; Cls obj; 原子bool变量充当数据指标。 std::atomic_bool flag = false; 线程1仅设置这些变量。 while (flag == true) { …

温馨耳语 2025-02-10 05:57:09 3 0

如果我不需要获取语义,那么使用轻松的负载然后是有条件的围栏是有意义的吗?

请考虑以下玩具示例,尤其是结果函数: #include #include #include #include class Worker { std::thread th; std::atomic_bool done = false; int v…

∞琼窗梦回ˉ 2025-02-06 20:35:44 1 0

只有一个线程使用memory_order_seq_cst是否曾经有用?

在多线程程序中,您是否曾经从 memory_order_seq_cst 中获得任何保证,如果您只有一个使用它的线程,则您也不会从较弱的订购中获得。示例: #include …

酷到爆炸 2025-02-03 00:15:07 2 0

可见的操作顺序,并在C++中获得/释放围栏。

我有一个以下程序,该程序使用 std :: atomic_thread_fence s: int data1 = 0; std::atomic data2 = 0; std::atomic state; int main() { state.stor…

只有一腔孤勇 2025-01-29 04:23:51 3 0

在任何实际用例中,编译器是否可以打破用于负载存储器存储器排序或类似的控制依赖关系?

我正在阅读有关。控制依赖性有些微妙,因为我们很容易被我们开发人员忘记。所以我想知道是否有控制依赖性引起的实际情况? 实际上,我发现有人认为控…

似梦非梦 2025-01-28 14:53:31 4 0

C++带有rdma的原子和memory_order

当在现代内存中使用单方面的RDMA时,如果数据对象跨越多个缓存线,则出现了远程阅读器如何安全查看其传入数据的问题。 在DERECHO开源多播和复制的记录…

迷路的信 2025-01-28 00:25:58 2 0

CPU乱序执行会导致内存重新排序吗?

我知道存储缓冲区和无效队列是导致内存重新排序的原因。我不知道乱序执行是否会导致内存重新排序。 在我看来,乱序执行不会导致重新排序,因为结果总…

明明#如月 2025-01-19 09:57:43 6 0

删除对象后,未完成的存储会发生什么?

考虑以下简单函数(假设大多数编译器优化关闭)由具有存储缓冲区的 X86 CPU 上不同内核上的两个线程执行 struct ABC { int x; //other members. }; vo…

ゝ偶尔ゞ 2025-01-18 17:11:58 6 0

与关系的同步到底是什么?

我一直在阅读这篇文章关系,以及 std:std: :memory_order 来自CPP参考的页面,我并不真正理解: 看来,标准有某种希望,我不明白为什么有必要。让…

别念他 2025-01-17 13:02:06 4 0

这些记忆障碍有必要吗?

我遇到了Singleton的 get_instance 函数的以下实现: template T* Singleton::get_instance() { static std::unique_ptr destroyer; T* temp = s_inst…

网白 2025-01-17 11:23:31 4 0

内存屏障到底要解决什么问题?

我现在正试图解决记忆障碍的问题。我一直在阅读和观看有关该主题的视频,我想确保我正确理解它,并提出一两个问题。 我从准确理解问题开始。让我们以…

深爱成瘾 2025-01-17 10:47:24 4 0

不安全:storeFence() & loadFence() 与 易失性

我正在检查关于java栅栏的这篇很棒的文章,其中栅栏用于以下示例,以确保并发线程可以始终读取从其他线程更新的最新值: // CPU 0: void shutDownWith…

东走西顾 2025-01-17 05:05:36 5 0

“缓存一致性”是否存在问题?关于 C++ Windows 上*单 CPU*(多核)上的多线程?

(编辑:只是为了说清楚:“缓存一致性”的问题是在不使用原子变量的情况下。) 是否可能(单CPU情况:Windows可以运行在Intel / AMD / Arm CPU 的顶…

你又不是我 2025-01-15 18:56:14 3 0
更多

推荐作者

alipaysp_snBf0MSZIv

文章 0 评论 0

梦断已成空

文章 0 评论 0

瞎闹

文章 0 评论 0

寄意

文章 0 评论 0

似梦非梦

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文