A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qiucheng1990 中级黑马   /  2012-10-25 12:56  /  1313 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

同步代码块 synchronized(new object()){方法体}可以使用静态修饰符吗,可以的话它的“锁”是什么呢

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1

查看全部评分

3 个回复

倒序浏览
如果同步函数被静态修饰后,锁就不是默认的this 而是该方法所在类的字节码对象,也就是类名.class 希望能帮到你
回复 使用道具 举报
up_ 中级黑马 2012-10-25 13:55:25
藤椅
可以用静态修饰,
如果同步代码块被静态修饰,同步代码块就被加载,这时候如果使用new (对象)作为锁,对象还没有被加载进来,
所以,使用的是该类的字节码文件作为锁。
回复 使用道具 举报
楼上正解,可以理解成同步代码块和静态代码块的结合 呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马