Назад к вопросам
СБЕР Корпус
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 несколькими потоками, что предотвращает состояние гонки.