当你把整个函数标记为“同步”(而不是函数中的一段代码)时,
你不能给定这次“同步”发生在哪一个对象锁上;
因为那样的说明在Java语法中是非法的。
整个函数的同步,是发生在this对象锁上的,但是
若是一个静态方法,则发生在类对象本身。
你不能给定这次“同步”发生在哪一个对象锁上;
因为那样的说明在Java语法中是非法的。
整个函数的同步,是发生在this对象锁上的,但是
若是一个静态方法,则发生在类对象本身。
解决方案 »
- JTabbedPane的两个问题
- J2SE聊天小系统的服务端错误。大哥哥大姐姐帮我找找错误 我看了半天没看出来
- 写入日文xml文档出现了乱码的问题
- final常量报错,请教?
- 问问问(急): html中文本框的内容如何传给applet?
- 那位能给讲一下return到底是把值返回到哪里去了?直接用 = 不是更简单吗?
- “Error opening registry key 'Software\JavaSoft\Java Runtime Environment'”是什么错误?
- 还未入门者请教
- 有谁知道Editplus2的注册码?
- 请问谁有Jbuilder5 Enterpeise的注册码,谢谢了!
- 送分,送分
- 主题:有关AWT的问题(程序运行后不能正常退出)
{
synchronized method()
{
}
}你不需要指出执行该同步方法所需拥有的对象锁,如:synchronized {this} method()
{
}这样写是非法的,JVM会默认将 this object作为同步的对象锁。
如果该方法是静态的, 则默认同步锁为该类对象, 而不是 this.(注意:类对象对于某个类来说,只有一个)。