【发布时间】:2013-08-06 11:17:45
【问题描述】:
假设我的Foo 类看起来像这样
public class Foo
{
public static void func_1() { /* do something */ }
public static void func_2() { /* do something */ }
}
我的Bar 班级看起来像这样
public class Bar
{
public void method_1()
{
synchronized(Foo.class)
{
Foo.func_1();
}
}
}
现在我可以将Foo.func_1 和Foo.func_2 声明为synchronized,而不是将Foo.class 对象锁定在Bar.method_1 中,并且仍然存档相同的目的吗?
谢谢
【问题讨论】:
-
同一个对象用于同步,但使用同步的静态方法,调用者不执行同步,因此技术可能更可取(调用者永远不会忘记执行同步)。
标签: java static synchronize