436得票7回答
什么时候在Java中使用AtomicReference?

我们何时会使用AtomicReference呢? 在所有多线程程序中都需要创建对象吗? 请提供一个简单的例子,说明何时应该使用AtomicReference。

29得票3回答
AtomicReferenceFieldUpdater - 方法set、get、compareAndSet的语义

来自Java AtomicReferenceFieldUpdater文档: 请注意,此类中compareAndSet方法的保证比其他原子类要弱。因为该类无法确保字段的所有使用都适用于原子访问的目的,所以它只能保证与compareAndSet和set的其他调用相关的原子性和易失性语义。 ...

25得票4回答
在AtomicReference中,compareAndSet和weakCompareAndSet有什么区别?

源代码是同一件事。public final boolean compareAndSet(V expect, V update) { return unsafe.compareAndSwapObject(this, valueOffset, expect, update); } pub...

14得票2回答
使用AtomicReference,在线程安全的情况下递增BigInteger是否可行,而不需要加锁?

我们的很多代码是传统的,但我们正在转向“大数据”后端,我试图宣传更新的API调用,鼓励使用最新的Spring库等。我们的问题之一是应用层ID生成。出于我不理解的原因,更高的权威想要按顺序分配BigInteger。我本来会将它们设置为随机的,并在插入失败时重新生成和重试,但我被否决了。 抱怨归...

9得票4回答
AtomicReference用于可变对象和可见性

假设我有一个指向对象列表的AtomicReference: AtomicReference<List<?>> batch = new AtomicReference<List<Object>>(new ArrayList<Object&g...

9得票4回答
AtomicReference<Integer>和AtomicInteger有什么区别?

我不理解这两者之间的区别: AtomicReference&lt;Integer&gt; atomicReference = new AtomicReference&lt;&gt;(1); 对比。 AtomicInteger atomicInteger = new AtomicInte...

7得票2回答
能否创建可以原子性地交换的AtomicReference?

有没有一种实现引用类型的方法,其值可以与另一个原子性地交换? 在Java中,我们有AtomicReference,它可以与本地变量交换,但不能与另一个AtomicReference交换。 您可以执行以下操作: AtomicReference r1 = new AtomicRefere...