0

我知道compareAndSet()in是一个核心方法,它采用一种巧妙的方法来原子地更新封装AtomicInteger的整数原语的当前值。AtomicInteger它只有在确定另一个线程尚未更新它之后才会这样做,如果它检测到其他情况则放弃。

另外,我知道,AtomicIntegerJava API 文档中标记为“原子”的方法在内部调用compareAndSet().

在表达了 in 的必要性之后compareAndSet()AtomicInteger我的问题是:

    1. 为什么weakCompareAndSet()存在于AtomicInteger?为什么我会选择在compareAndSet()可用时使用它?根据 Java API,

      它可能会虚假失败并且不提供订购保证,因此很少是 . 的合适替代方案compareAndSet

    1. 令人惊讶的是, 中有一个 rawset()方法AtomicInteger,它甚至没有标记为 atomic!它在课堂上做什么AtomicInteger?!
4

0 回答 0