Unsafe类功能之(4): CAS操作
比较交换对象指定内存偏移量处的
int
类型值
认为 内存中对象o所在的内存空间, 定位到偏移量offset处, 能找到有int
类型的属性, 且其值为expected
, 若前面的这些条件成立
, 则
: 把对象o此处的 int 类型值 expected, 更新为新值 x
;
public final native boolean compareAndSwapInt(Object o, long offset, int expected, int x);
比较交换对象指定内存偏移处对应的
long
值
认为 内存中对象o所在空间的相对偏移量offset所在处, 有long
类型的属性, 且其值为expected
, 若前面的条件成立
, 则
: 把对象o此处的long类型值 expected, 更新为新值 x
;
public final native boolean compareAndSwapLong(Object o, long offset, long expected, long x);
比较交换对象内存偏移对应的
引用
类型值
认为 内存中对象o所在空间的相对偏移量offset所在处, 有Object
类型的属性, 且其值为expected
, 若前面的条件成立
, 则
: 把对象o此处的 Object 值 expected, 更新为新值 x
;
public final native boolean compareAndSwapObject(Object o, long offset, Object expected, Object x);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。