Sobes.tech
Junior — Middle
102

Pouvez-vous expliquer le principe du verrouillage pessimiste et en quoi il diffère d'une autre stratégie de verrouillage?

Entreprises à qui on a demandé
Т-БанкТ-Банк
Ifellow

Réponse de l'IA

sobes.tech IA

Пессимистическая блокировка — это стратегия управления конкурентным доступом к данным, при которой ресурс блокируется сразу при попытке его использования, чтобы предотвратить возможные конфликты. Например, когда один поток начинает работу с записью в базу, он ставит блокировку, и другие потоки не могут читать или изменять эти данные до снятия блокировки.

Отличие от оптимистической блокировки в том, что оптимистическая блокировка предполагает, что конфликты редки, и не блокирует ресурс заранее, а проверяет целостность данных только при сохранении изменений. Если конфликт обнаружен, операция откатывается или повторяется.

Пример в Java с использованием synchronized для пессимистической блокировки:

public class Counter {
    private int count = 0;

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

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

Здесь метод increment блокируется для других потоков, пока текущий поток не завершит операцию.