AtomicStampedReference.get() 方法:为什么参数是数组?
AtomicStampedReference.get() method: why parameter is array?
前段时间我开始研究java.util.concurrent
包。我的问题是关于 AtomicStampedReference
class。 class 有方法
public V get(int[] stampHolder) {
...
}
自动获取引用和标记(如果我错了,请纠正我)。
方法的参数是数组是不是有什么特殊原因?文档对此只字不提。
也许(很可能)它只是对 simulate out parameters 的黑客攻击,因为在这种情况下,应该 return 编辑两个值:V
和一个 int
值。
另一种可能性是 return 一个元组 Tuple<V,Integer>
,但是 Java 没有 Tuple
class,这样效率可能较低创建一个 Tuple
对象的实例并另外装箱 int
,这在并发上下文中可能很重要。
前段时间我开始研究java.util.concurrent
包。我的问题是关于 AtomicStampedReference
class。 class 有方法
public V get(int[] stampHolder) {
...
}
自动获取引用和标记(如果我错了,请纠正我)。
方法的参数是数组是不是有什么特殊原因?文档对此只字不提。
也许(很可能)它只是对 simulate out parameters 的黑客攻击,因为在这种情况下,应该 return 编辑两个值:V
和一个 int
值。
另一种可能性是 return 一个元组 Tuple<V,Integer>
,但是 Java 没有 Tuple
class,这样效率可能较低创建一个 Tuple
对象的实例并另外装箱 int
,这在并发上下文中可能很重要。