использование синглтона с использованием блокировки - PullRequest
0 голосов
/ 09 мая 2011

У меня есть Singleton, который я хочу использовать в качестве монитора в синхронизированном блоке

private static final Singleton instance new Singleton();

  public synchronized myMethod()
    {
        synchronized(Singleton.class)
        {
          do something
        }
    }

Есть ли разница между использованием класса или использованием объекта экземпляра в качестве монитора?

1 Ответ

1 голос
/ 09 мая 2011

Есть.Singleton.class будет доступен в любом классе, где класс Singleton виден, тогда как создаваемый вами экземпляр является частным и, следовательно, видимым только для этого конкретного класса.

В общем случае рекомендуется синхронизировать данные намонитор, который может быть введен только классами, которые должны синхронизироваться на нем.

...