java cas硬件底层接口 sun.misc.Unsafe UNSAFE 博客分类: 分布式
程序员文章站
2024-03-25 22:19:40
...
/** *比较并更新对象的某一个整数类型的域 *@param obj 被操作的对象 *@param fieldoffset 被操作的域在对象中的偏移量 *@param expect 域的期望值 *@param update 域的更新值 */ boolean compareAndSwapInt(Object obj,long fieldoffset, int expect, int update); /** *比较并更新对象的某一个对象类型的域 *@param obj 被操作的对象 *@param fieldoffset 被操作的域在对象中的偏移量 *@param expect 域的期望值 *@param update 域的更新值 */ boolean compareAndSwapObject(Object obj,long Fieldoffset, Object expect, Object update); /** *获得对象某个域的偏移量 *@param field 要获得偏移量的域 */ long objectFieldOffset (Field field); /** *使当前线程在指定的等待时间之前一直等待 *@param flag 等待时间类型 true代表绝对时间(用相对于历元 *(Epoch) 的毫秒数值表示),false代表相对时间 *@param time 等待的时间,单位毫秒 */ void park(boolean flag, long time); /** *取消指定线程的等待 *@param thread 被取消等待的线程 */ void unpark(Thread thread) /** *通过偏移量,获取某个对象Object类型的域 *@param obj 被操作的对象 *@param fieldoffset 偏移量 */ Object getObject(Object obj,long fieldoffset); /** *通过偏移量,获取某个对象整数类型的域 *@param obj 被操作的对象 *@param fieldoffset 偏移量 */ int getInt(Object obj,long fieldoffset);