+ -
当前位置:首页 → 问答吧 → 同步的小小问题

同步的小小问题

时间:2011-10-29

来源:互联网

我知道同步代码块的时候只能锁对象或者类

synchronized(一个对象或者一个类){
//代码
}

但是呢,我想单独锁一个对象中的某个原始类型的成员变量。。
比如是个int型的:
int i;

这不能直接放在括号里,我给转了个型。。
synchronized(Integer)i){}

话说这样做是正常套路么。。有什么问题么??

作者: iHTML   发布时间: 2011-10-29

synchronized关键字使用说明synchronized只能标记非抽象的方法,不能标识成员变量。你这样写是没有语法错误的,但没有的意义,synchronized语句计算一个对象引用,试图对该对象完成锁操作, 并且在完成锁操作前停止处理。当锁操作完成synchronized语句体得到执行。当语句体执行完毕(无论正常或异常),解锁操作自动完成。补充一点:synchronized 后面可以是类。枚举,和接口

作者: Chianfirstli   发布时间: 2011-10-29