jjzjj

weakCompareAndSet

全部标签

java - AtomicReference 中的 compareAndSet 和 weakCompareAndSet 有什么区别?

源码是一样的。publicfinalbooleancompareAndSet(Vexpect,Vupdate){returnunsafe.compareAndSwapObject(this,valueOffset,expect,update);}publicfinalbooleanweakCompareAndSet(Vexpect,Vupdate){returnunsafe.compareAndSwapObject(this,valueOffset,expect,update);}有什么意义? 最佳答案 在x86上,LOCKCMPX

java - 如果weakCompareAndSet 的实现与compareAndSet 完全一样,它怎么会虚假失败?

(请注意,这个问题不是关于CAS,而是关于“可能会虚假失败”Javadoc)。AtomicInteger类中这两个方法在Javadoc中的唯一区别是weakCompareAndSet包含以下注释:“可能错误地失败”.现在除非我的眼睛被某种咒语欺骗了,否则这两种方法看起来确实是一样的:publicfinalbooleancompareAndSet(intexpect,intupdate){returnunsafe.compareAndSwapInt(this,valueOffset,expect,update);}/*...*Mayfailspuriously.*/publicfinal

java - 如果weakCompareAndSet 的实现与compareAndSet 完全一样,它怎么会虚假失败?

(请注意,这个问题不是关于CAS,而是关于“可能会虚假失败”Javadoc)。AtomicInteger类中这两个方法在Javadoc中的唯一区别是weakCompareAndSet包含以下注释:“可能错误地失败”.现在除非我的眼睛被某种咒语欺骗了,否则这两种方法看起来确实是一样的:publicfinalbooleancompareAndSet(intexpect,intupdate){returnunsafe.compareAndSwapInt(this,valueOffset,expect,update);}/*...*Mayfailspuriously.*/publicfinal

java - AtomicInteger weakCompareAndSet 上的 "spurious failure"是什么意思?

JavaAtomicInteger类有一个方法-booleanweakCompareAndSet(intexpect,intupdate)它的文档说:Mayfailspuriously.这里的“虚假失败”是什么意思? 最佳答案 虚假地:没有明显的原因根据atomic包javadoc:TheatomicclassesalsosupportmethodweakCompareAndSet,whichhaslimitedapplicability.Onsomeplatforms,theweakversionmaybemoreefficien