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

На чем синхронизируется блок synchronized внутри метода

Блок synchronized внутри метода синхронизируется на объекте, для которого вызван метод (т.е. this). Если метод статический — синхронизация происходит на объекте класса (Class).

java
public class Example {
    // Синхронизация на this (экземпляре класса)
    public synchronized void instanceMethod() {
        // Критическая секция
    }
text
// Синхронизация на Class объекте (Example.class)
public static synchronized void staticMethod() {
    // Критическая секция
}

}

text

Для блоков можно явно указать монитор:
```java
public void method() {
    synchronized (lockObject) {  // Синхронизация на lockObject
        // Критическая секция
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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