黑马程序员技术交流社区
标题:
synchronized加在方法上的问题
[打印本页]
作者:
qisikudingcha
时间:
2014-1-16 23:28
标题:
synchronized加在方法上的问题
本帖最后由 qisikudingcha 于 2014-1-17 11:04 编辑
synchronized加在代码块上的问题,锁住的是那个方法还是那个方法所属的对象
作者:
mrwise1991
时间:
2014-1-16 23:44
默认锁住的是当前的对象,如果指定参数可以锁定指定的对象
作者:
放课后小朋友
时间:
2014-1-17 00:20
本帖最后由 放课后小朋友 于 2014-1-17 00:22 编辑
public void method3(Object obj){
synchronized(obj){...}
}所以是对象
作者:
汤柳清
时间:
2014-1-17 09:53
是对象,每次只能被一个对象访问或调用,写错了单词synchronized
作者:
lyw@heima
时间:
2014-1-17 10:36
在多线程存取同一对象相同资源时引发竞速情况下,每个对象都会有个内部锁定。被标识为synchronized的区块将会被监控,任何线程要执行synchronized区块都必须先取得指定的对象锁定。因此锁定的是对象。
作者:
qisikudingcha
时间:
2014-1-17 11:00
谢谢各位的回复,明白了。
作者:
qisikudingcha
时间:
2014-1-17 11:04
汤柳清 发表于 2014-1-17 09:53
是对象,每次只能被一个对象访问或调用,写错了单词synchronized
额,是拼错了,谢谢·~
作者:
黄晓鑫
时间:
2014-1-17 11:16
你可以自己创建一个对象 加进去 或者可以用字节码文件作为对象进行传递
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2