java - AtomicStampedReference.get()方法: why parameter is array?

标签 java concurrency java.util.concurrent

前段时间我开始调查java.util.concurrent包裹。我的问题是关于AtomicStampedReference类(class)。该类有方法

public V get(int[] stampHolder) {
    ...
}

自动获取引用和标记(如果我错了,请纠正我)。

方法的参数为数组有什么特殊原因吗?文档对此没有任何说明。

最佳答案

也许(可能)这只是对 simulate out parameters 的黑客攻击。 ,因为在这种情况下应该返回两个值: V和一个int值(value)。

另一种可能性是返回一个元组 Tuple<V,Integer> ,但是Java没有Tuple类,创建 Tuple 的实例可能效率较低。对象并另外装箱 int ,这在并发环境中可能很重要。

关于java - AtomicStampedReference.get()方法: why parameter is array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39774131/

相关文章:

java - 在 Eclipse RCP 应用程序中数据绑定(bind)列表的最佳实践

java - 为什么我的 Java/Spring/Tomcat 堆栈将非英语字符翻译成两个单独的字符?

java - 在 maven 的 docker 中运行的 mysql 图像上的 liquibase 脚本用于集成测试

java - 在 Web 应用程序中使用 ThreadPoolExecutor

c++ - 基于堆栈的 RAII 是否保证仅在超出 C++ 范围后运行?

Java 并发 - 中断策略

java - 在 Java 7+ ForkJoinPool 中,是否可以取消任务和所有子任务?

Java BFS - 如果我想对角移动,我应该改变什么?

java - 使用 FutureTask 实现并发

java - java并发编程中所有线程都会同时启动吗?