Sobes.tech
Junior — Middle

Vysvetlite princíp fungovania kľúčového slova synchronized v Jave a jeho vplyv na bezpečnosť údajov v prostredí s viacerými vláknami.

sobes.tech AI

Odpoveď od AI

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

Это предотвращает одновременное изменение данных несколькими потоками, что может привести к состояниям гонки и некорректным результатам.

Пример:

public class Counter {
    private int count = 0;

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

    public synchronized int getCount() {
        return count;
    }
}

В этом примере методы increment и getCount синхронизированы, поэтому изменения и чтение count происходят атомарно и безопасно в многопоточной среде.