Sobes.tech
Назад к вопросам
Junior — Middle
65

Что означает использование ключевого слова synchronized при синхронизации объекта в Java?

Компании, где спрашивали
СБЕР КорпусСБЕР Корпус

Ответ от нейросети

sobes.tech AI

Ключевое слово synchronized в Java используется для обеспечения взаимного исключения при доступе к объекту или блоку кода несколькими потоками. Оно гарантирует, что в один момент времени только один поток может выполнять синхронизированный код для данного объекта.

Когда метод или блок помечен как synchronized, поток, входящий в него, захватывает монитор (замок) объекта. Другие потоки, пытающиеся войти в этот же синхронизированный блок или метод для того же объекта, будут ждать освобождения монитора.

Пример:

public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++;
    }

    public int getCount() {
        return count;
    }
}

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