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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 山水游客 中级黑马   /  2012-6-3 23:02  /  1445 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

synchronized(xxx)   需要用到同步代码块的时候.里边传的参数为什么要是个对象呢! 这个对象有什么意思!

5 个回复

倒序浏览
应该是这样的吧
这里面要放一个锁,而所有对象都自动含有一个单一的锁。所以就放对象了,这样方便。
回复 使用道具 举报
传一个对象,相当于是一个判定,也就是楼上所说的一个锁,当学到操作系统就会明白,同步与死锁,其中就有一个PV操作。老毕在说锁的时候用到开关的说法,1为关,0为开。实际上应该是1为关,因为P操作的初始值是1,表示可以执行,当有对象要进去操作时,P进行减一操作,而初始值为0的V进行加以操作,如果对象出来了,V减一,P加一,这样来实现同步。因此传一个对象进去,只是做一个控制的作用,也就是同步操作对对象没有限制的原因,随便一个对象就能实现其功能。
回复 使用道具 举报
其实里面的对象相当于锁,二进制不是有个0和1吗,?1代表开着可以进去,0就是相反。
其次里面的对象是随意的,但是一定要注意如果同步的是方法,那么这个方法要是静态的,
就只能用方法所在类的字节码文件,类名.class。
回复 使用道具 举报
传一个对象,相当于是一个判定,也就是楼上所说的一个锁,当学到操作系统就会明白,同步与死锁,其中就有一个PV操作。老毕在说锁的时候用到开关的说法,1为关,0为开。实际上应该是1为关,因为P操作的初始值是1,表示可以执行,当有对象要进去操作时,P进行减一操作,而初始值为0的V进行加以操作,如果对象出来了,V减一,P加一,这样来实现同步。因此传一个对象进去,只是做一个控制的作用,也就是同步操作对对象没有限制的原因,随便一个对象就能实现其功能。

评分

参与人数 1技术分 +1 收起 理由
赵志勇 + 1 赞一个!

查看全部评分

回复 使用道具 举报
谢谢大家的讲解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马