我有一个Singleton,我想在同步块中用作监视器
private static final Singleton instance new Singleton();
public synchronized myMethod()
{
synchronized(Singleton.class)
{
do something
}
}
他们在使用类或使用实例对象作为监视器之间有区别吗?
答案 0 :(得分:1)
有。可以在Singleton类可见的任何类中访问Singleton.class,而您创建的实例是私有的,因此仅对该特定类可见。
通常,在监视器上进行同步是一种很好的做法,只能由应该在其上同步的类输入。