Встречается на собеседованиях • сегодня

На каком уровне содержится монитор у статического метода c ключевым словом synchronized

Статический synchronized метод использует монитор класса (Class object), а не монитор экземпляра. Это означает, что блокировка применяется на уровне всего класса, а не отдельного объекта.

java
public class Example {
    public static synchronized void staticSyncMethod() {
        // Блокирует Example.class
    }
    
    public synchronized void instanceSyncMethod() {
        // Блокирует this (экземпляр)
    }
}

Разница:

  • Для статического метода: монитор - это Class object (Example.class)
  • Для нестатического: монитор - это экземпляр объекта (this)
    Это значит, что два разных потока не могут одновременно выполнять статические synchronized методы одного класса, даже если они работают с разными экземплярами.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы