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

Как работает sinchronized

synchronized в Java обеспечивает потокобезопасность, блокируя доступ к критической секции для других потоков, пока один поток выполняет её.

Способы использования:

  1. Метод:
java
public synchronized void method() {
    // критическая секция
}

Блокирует доступ к методу для других потоков на уровне объекта (для нестатических методов) или класса (для статических).

  1. Блок кода:
java
synchronized (lockObject) {
    // критическая секция
}

Блокирует доступ к коду внутри блока, используя указанный объект (lockObject) в качестве монитора.

Особенности:

  • Гарантирует видимость изменений между потоками (happens-before).
  • Может привести к deadlock, если блокировки захватываются в неправильном порядке.
  • Не поддерживает таймауты или прерывания.

Для более гибкого управления блокировками лучше использовать java.util.concurrent.locks.ReentrantLock.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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