Junior — Middle
Explique le principe de fonctionnement du mot-clé synchronized en Java et son influence sur la sécurité des données en multithreading.
sobes.tech IA
Réponse de l'IA
Ключевое слово synchronized в Java используется для обеспечения потокобезопасности при доступе к разделяемым ресурсам. Оно блокирует объект-монитор, чтобы только один поток мог выполнять код внутри блока или метода, помеченного synchronized.
Это предотвращает одновременное изменение данных несколькими потоками, что может привести к состояниям гонки и некорректным результатам.
Пример:
public class Counter {
private int count = 0;
public synchronized void increment() {
count++;
}
public synchronized int getCount() {
return count;
}
}
В этом примере методы increment и getCount синхронизированы, поэтому изменения и чтение count происходят атомарно и безопасно в многопоточной среде.