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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 轩辕冰晨 中级黑马   /  2014-6-12 22:46  /  1102 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 轩辕冰晨 于 2014-6-26 12:09 编辑

看视频到多线程同步的部分,有一个问题不是很理解,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

9 个回复

倒序浏览
不可以,该线程已经被锁定,不能被其他线程调用。。
回复 使用道具 举报
其他方法是可以的吧,只要不是被synchronized锁定的。
楼上的意思,一旦线程被锁就不能动,那不是成了单线程?
回复 使用道具 举报
可以,只有synchronized修饰的这个方法,其他线程不能进,本对象的其他方法其他线程是可以进去的
回复 使用道具 举报
可以,只有被synchronized修饰的才是被“锁住”的部分,其他部分是正常代码
回复 使用道具 举报
如果一条线程在synchronized里wait()了就会放弃执行权,其他线程进入的。
回复 使用道具 举报
可以,synchronized修饰的方法就像是一个房间,当一个线程进入该方法后,它会把门锁上,其它线程就不能进入该房间。只有最早进入房间的线程出了该方法,打开了锁,其它的线程才能进入。这和该类的其它方法没有任何关系。
回复 使用道具 举报
老梁 中级黑马 2014-6-13 08:57:34
8#
可以进入其他方法,只有使用了synchronized修饰的方法在同一时间内只允许一个线程进入,其他线程要等待当前线程完成操作后才可以进入
回复 使用道具 举报
比较模糊问的。。。真心的
回复 使用道具 举报
其他非synchronized的方法是可以访问的  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马