AtomicStampedReference.get()方法:为什么参数是数组?

时间:2016-09-29 15:16:52

标签: java concurrency java.util.concurrent

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

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

以原子方式获取参考和印章(如果我错了,请纠正我。)

这个方法的参数是数组有特殊原因吗?文档没有提及它。

1 个答案:

答案 0 :(得分:2)

可能(可能)它只是simulate out parameters的黑客,因为在这种情况下应该返回两个值:Vint值。

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