Java文档说:
对同一对象的同步方法的两次调用不可能交错。
这对静态方法意味着什么?由于静态方法没有关联对象,synchronized 关键字是否会锁定类而不是对象?
原文由 jbu 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java文档说:
对同一对象的同步方法的两次调用不可能交错。
这对静态方法意味着什么?由于静态方法没有关联对象,synchronized 关键字是否会锁定类而不是对象?
原文由 jbu 发布,翻译遵循 CC BY-SA 4.0 许可协议
只是为了向 Oscar(简洁得令人愉快!)的回答添加一点细节,Java 语言规范的相关部分是 8.4.3.6,“同步方法” :
同步方法在执行之前获取监视器( §17.1 )。对于类(静态)方法,使用与方法类的 Class 对象关联的监视器。对于实例方法,使用与此关联的监视器(调用该方法的对象)。
原文由 Cowan 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
是的。 :)