黑马程序员技术交流社区

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

作者: 余雷    时间: 2013-5-7 10:58
标题: 多线程问题
当一个同步方法已经执行,线程能够调用对象上的非同步实例方法吗?在一个对象上两个线程可以调用两个不同的同步实例方法吗?
作者: 杨修    时间: 2013-5-7 11:18
可以,一个非同步方法总是可以被调用而不会有任何问题。实际上,Java 没有为非同步方法做任何检查,锁对象仅仅在同步方法或者同步代码块中检查。如果一个方法没有声明为同步,即使你在使用共享数据 Java 照样会调用,而不会做检查是否安全,所以在这种情况下要特别小心。一个方法是否声明为同步取决于临界区访问(critial section access),如果方法不访问临界区(共享资源或者数据结构)就没必要声明为同步的。


作者: 黄玉昆    时间: 2013-5-10 22:05
本帖最后由 黄玉昆 于 2013-5-11 23:00 编辑

如果问题未解决,请继续追问,如果问题解决了,请将分类改为“已解决”,谢谢




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