黑马程序员技术交流社区
标题:
同步代码块的问题!
[打印本页]
作者:
山水游客
时间:
2012-6-3 23:02
标题:
同步代码块的问题!
synchronized(xxx) 需要用到同步代码块的时候.里边传的参数为什么要是个对象呢! 这个对象有什么意思!
作者:
黄克帅
时间:
2012-6-3 23:12
应该是这样的吧
这里面要放一个锁,而所有对象都自动含有一个单一的锁。所以就放对象了,这样方便。
作者:
黄捷
时间:
2012-6-3 23:21
传一个对象,相当于是一个判定,也就是楼上所说的一个锁,当学到操作系统就会明白,同步与死锁,其中就有一个PV操作。老毕在说锁的时候用到开关的说法,1为关,0为开。实际上应该是1为关,因为P操作的初始值是1,表示可以执行,当有对象要进去操作时,P进行减一操作,而初始值为0的V进行加以操作,如果对象出来了,V减一,P加一,这样来实现同步。因此传一个对象进去,只是做一个控制的作用,也就是同步操作对对象没有限制的原因,随便一个对象就能实现其功能。
作者:
王德升
时间:
2012-6-3 23:21
其实里面的对象相当于锁,二进制不是有个0和1吗,?1代表开着可以进去,0就是相反。
其次里面的对象是随意的,但是一定要注意如果同步的是方法,那么这个方法要是静态的,
就只能用方法所在类的字节码文件,类名.class。
作者:
黄捷
时间:
2012-6-3 23:21
传一个对象,相当于是一个判定,也就是楼上所说的一个锁,当学到操作系统就会明白,同步与死锁,其中就有一个PV操作。老毕在说锁的时候用到开关的说法,1为关,0为开。实际上应该是1为关,因为P操作的初始值是1,表示可以执行,当有对象要进去操作时,P进行减一操作,而初始值为0的V进行加以操作,如果对象出来了,V减一,P加一,这样来实现同步。因此传一个对象进去,只是做一个控制的作用,也就是同步操作对对象没有限制的原因,随便一个对象就能实现其功能。
作者:
山水游客
时间:
2012-6-3 23:27
谢谢大家的讲解
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2