|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。
AtomicLongFieldUpdater先容和函数列表
AtomicLongFieldUpdater能够对指定"类的volatilelong范例的成员"举行原子更新。它是基于反射道理完成的。
AtomicLongFieldUpdater函数列表- //受回护的无操纵机关办法,供子类利用。
- protectedAtomicLongFieldUpdater()
- //以原子体例将给定值增加到此更新器办理的给定对象的字段确当前值。
- longaddAndGet(Tobj,longdelta)
- //假如以后值==预期值,则以原子体例将此更新器所办理的给定对象的字段设置为给定的更新值。
- abstractbooleancompareAndSet(Tobj,longexpect,longupdate)
- //以原子体例将此更新器办理的给定对象字段以后值减1。
- longdecrementAndGet(Tobj)
- //猎取此更新器办理的在给定对象的字段中坚持确当前值。
- abstractlongget(Tobj)
- //以原子体例将给定值增加到此更新器办理的给定对象的字段确当前值。
- longgetAndAdd(Tobj,longdelta)
- //以原子体例将此更新器办理的给定对象字段以后值减1。
- longgetAndDecrement(Tobj)
- //以原子体例将此更新器办理的给定对象字段确当前值加1。
- longgetAndIncrement(Tobj)
- //将此更新器办理的给定对象的字段以原子体例设置为给定值,并前往旧值。
- longgetAndSet(Tobj,longnewValue)
- //以原子体例将此更新器办理的给定对象字段以后值加1。
- longincrementAndGet(Tobj)
- //最初将此更新器办理的给定对象的字段设置为给定更新值。
- abstractvoidlazySet(Tobj,longnewValue)
- //为对象创立并前往一个具有给定字段的更新器。
- static<U>AtomicLongFieldUpdater<U>newUpdater(Class<U>tclass,String
- fieldName)
- //将此更新器办理的给定对象的字段设置为给定更新值。
- abstractvoidset(Tobj,longnewValue)
- //假如以后值==预期值,则以原子体例将此更新器所办理的给定对象的字段设置为给定的更新值。
- abstractbooleanweakCompareAndSet(Tobj,longexpect,longupdate)
复制代码 AtomicLongFieldUpdater示例- //LongTest.java的源码
- importjava.util.concurrent.atomic.AtomicLongFieldUpdater;
- publicclassLongFieldTest{
- publicstaticvoidmain(String[]args){
- //猎取Person的class对象
- Classcls=Person.class;
- //新建AtomicLongFieldUpdater对象,传送参数是“class对象”和“long范例在类中对应的称号”
- AtomicLongFieldUpdatermAtoLong=AtomicLongFieldUpdater.newUpdater(cls,"id");
- Personperson=newPerson(12345678L);
- //对照person的"id"属性,假如id的值为12345678L,则设置为1000。
- mAtoLong.compareAndSet(person,12345678L,1000);
- System.out.println("id="+person.getId());
- }
- }
- classPerson{
- volatilelongid;
- publicPerson(longid){
- this.id=id;
- }
- publicvoidsetId(longid){
- this.id=id;
- }
- publiclonggetId(){
- returnid;
- }
- }
复制代码 <p>
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。 |
|