黑马程序员技术交流社区

标题: 多线程问题 [打印本页]

作者: 轩辕冰晨    时间: 2014-6-12 22:46
标题: 多线程问题
本帖最后由 轩辕冰晨 于 2014-6-26 12:09 编辑

看视频到多线程同步的部分,有一个问题不是很理解,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
作者: 云行水边    时间: 2014-6-12 22:50
不可以,该线程已经被锁定,不能被其他线程调用。。
作者: HF_Opticalix    时间: 2014-6-12 23:28
其他方法是可以的吧,只要不是被synchronized锁定的。
楼上的意思,一旦线程被锁就不能动,那不是成了单线程?
作者: wssjdysf    时间: 2014-6-13 00:20
可以,只有synchronized修饰的这个方法,其他线程不能进,本对象的其他方法其他线程是可以进去的
作者: 九号球    时间: 2014-6-13 01:02
可以,只有被synchronized修饰的才是被“锁住”的部分,其他部分是正常代码
作者: moon1993zs    时间: 2014-6-13 08:36
如果一条线程在synchronized里wait()了就会放弃执行权,其他线程进入的。
作者: rover0321    时间: 2014-6-13 08:49
可以,synchronized修饰的方法就像是一个房间,当一个线程进入该方法后,它会把门锁上,其它线程就不能进入该房间。只有最早进入房间的线程出了该方法,打开了锁,其它的线程才能进入。这和该类的其它方法没有任何关系。
作者: 老梁    时间: 2014-6-13 08:57
可以进入其他方法,只有使用了synchronized修饰的方法在同一时间内只允许一个线程进入,其他线程要等待当前线程完成操作后才可以进入
作者: zly1992008    时间: 2014-6-13 08:57
比较模糊问的。。。真心的
作者: 张益达    时间: 2014-6-13 10:29
其他非synchronized的方法是可以访问的  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2