stdatomic

stdatomic

文章 0 浏览 6

C++在“线程屏障”上进行适当的原子记忆订购同步模式

我需要在预定义的工作线程(通过应用程序配置静态知道)和预定义的控制平面线程之间正确同步对某些共享资源的访问。控制平面线程从外部接收请求,并基…

桃气十足 2025-02-13 21:47:41 1 0

为什么您可以从lock_free_stack中的pop()中的Atomic Compare_exchange_weak中取出的节点免费?

我正在阅读《行动》第二本书的< c ++并发。 ed>由安东尼·威廉姆斯(Anthony Williams) 第7.2.2节停止了那些讨厌的泄漏:在无锁数据中管理内…

自由如风 2025-02-11 18:52:17 2 0

在特殊条件下

通常,从不同线程访问 std :: Map 的同一实例不是线程安全。 但是,它可以在这样的条件下是线程安全: 不再将元素添加到\ code> std :: map 初始化后…

苏佲洛 2025-02-10 18:54:27 2 0

C+ 11:如何产生“伪造失败”在compare_exchange_weak上?

有没有办法可以编写一些代码来为compare_exchange的“弱”版本产生“虚假失败”?虽然相同的代码应该很好地适用于compare_exchange_strong? 我希望看…

靖瑶 2025-02-10 16:35:48 2 0

在std :: atomic< t> ::交换的示例中,为什么《时间的计数不是25》?

我谈论的示例是 cppreference.com上的这个。 代码片段在下面粘贴。 int main(){ const std::size_t ThreadNumber = 5; const int Sum = 5; std::atomi…

风柔一江水 2025-02-10 07:12:12 2 0

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

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

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

在存储之后用原子上的发行内存顺序调用notify_all方法

我在单个线程上执行以下代码(用C ++ 20): std::atomic_bool is_ready{}; void SetReady() { is_ready.store(true, std::memory_order_release); is…

全部不再 2025-02-08 11:54:55 3 0

32/64位处理器上的8/16位原子

在C ++ 11和C11中,可以使用8和16位原子。是否有在实际的现代32-和64位CPU上使用它们的陷阱?他们没有锁吗?它们比本地大小的原子慢吗?我对标准所说…

眼眸印温柔 2025-02-07 01:42:56 3 0

atomic_int和int&#xff1f之间有什么区别;

当仅在线程之间的关键部分中写入和读取int时,线程是否安全? 那么Atomic_int和int?之间有什么区别 “ int”不是原子吗?…

盛夏尉蓝 2025-02-07 01:30:23 2 0

std :: atomic :: notify_one可以解开多个线程

根据cppreference, std :: atomic< t> t> ) 将通知 至少 一个正在等待所述原子的线程。这意味着,根据标准,它可以解开多个线程。这与 …

樱娆 2025-02-06 07:12:00 2 0

在汇总初始化原子成员

似乎无法使用C ++ 14初始化原子成员。以下无效(在gcc 8.0.1.1 上播放 #include #include struct stru { std::atomic_int32_t val_0; std::atomic_int…

倚栏听风 2025-02-05 09:13:54 3 0

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

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

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

对于无锁编程,是BOOST :: LOCKFREE ::比C++一个更可行的选项。原子?

我想知道是否可以使用 boost :: lockfree 更好地完成螺纹代码锁定。确实,我不想将标准C ++以外的任何内容介绍到代码中。由于 boost :: lockfree :: …

蓝眼泪 2025-01-30 06:14:53 4 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

C++带有rdma的原子和memory_order

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

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

推荐作者

李珊平

文章 0 评论 0

Quxin

文章 0 评论 0

范无咎

文章 0 评论 0

github_ZOJ2N8YxBm

文章 0 评论 0

若言

文章 0 评论 0

南…巷孤猫

文章 0 评论 0

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