繁体   English   中英

在 C++ 中有没有像 Java 的 AtomicStampedReference 这样的东西?

[英]Is there anything like Java's AtomicStampedReference in C++?

我正在学习无锁结构,我注意到一个 ABA 问题。

我认为 Java 的AtomicStampedReference可以解决这个问题。

那么,C++ 中有没有类似的东西可以解决这个问题?

没有直接的等价物。 你可以自己实现它, AtomicStampedReference的源代码在这里: https : //github.com/JetBrains/jdk8u_jdk/blob/master/src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java

您可能可以在 C++ 中实现它,也许使用std::atomic<std::shared_ptr>来实现private volatile Pair<V> pair

如果您不需要AtomicStampedReference的全部功能,您可以直接在代码中使用std::atomic<std::shared_ptr> 如果你没有 c++20 那么你可以使用以前的独立原子shared_ptr函数

也许你应该看看std::atomic 我从未听说过“AtomicStampedReference”,但粗略地看,它似乎是一个原子引用。 std::atomic用于原子变量。 希望这就是你正在寻找的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM