Junior — Middle
Que signifie l'utilisation du mot-clé synchronized lors de la synchronisation d'un objet en Java?
sobes.tech IA
Réponse de l'IA
Ключевое слово synchronized в Java используется для обеспечения взаимного исключения при доступе к объекту или блоку кода несколькими потоками. Оно гарантирует, что в один момент времени только один поток может выполнять синхронизированный код для данного объекта.
Когда метод или блок помечен как synchronized, поток, входящий в него, захватывает монитор (замок) объекта. Другие потоки, пытающиеся войти в этот же синхронизированный блок или метод для того же объекта, будут ждать освобождения монитора.
Пример:
public class Counter {
private int count = 0;
public synchronized void increment() {
count++;
}
public int getCount() {
return count;
}
}
В этом примере метод increment синхронизирован, чтобы избежать одновременного изменения переменной count несколькими потоками, что предотвращает состояние гонки.