【发布时间】:2013-08-14 21:42:23
【问题描述】:
使用静态变量进行同步有什么影响?
public class Something {
public static final String LOCK = "lala";
public void doSomething(){
synchronized(LOCK){
...
}
}
}
【问题讨论】:
-
docs.oracle.com/javase/tutorial/essential/concurrency/… - 同时锁定一个公共变量是一个坏主意,而一个字符串字面量是一个更糟糕的主意。
-
您不会在变量上同步,而是在对象上同步,所以它是否为
static并不重要。 -
表示不能同时调用
doSomething()..
标签: java concurrency