Sobes.tech
Назад к вопросам
Junior — Middle
74

Каким образом реализуется стратегия пессимистической блокировки ресурсов в системе?

Компании, где спрашивали
ТБанк

Ответ от нейросети

sobes.tech AI

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

В Java это обычно реализуется с помощью синхронизации или явных блокировок:

  • Использование ключевого слова synchronized для методов или блоков кода, чтобы только один поток мог работать с ресурсом одновременно.
  • Использование классов из пакета java.util.concurrent.locks, например, ReentrantLock, для более гибкого управления блокировками.

Пример с synchronized:

public class Resource {
    public synchronized void use() {
        // код, работающий с ресурсом
    }
}

Пример с ReentrantLock:

import java.util.concurrent.locks.ReentrantLock;

public class Resource {
    private final ReentrantLock lock = new ReentrantLock();

    public void use() {
        lock.lock();
        try {
            // работа с ресурсом
        } finally {
            lock.unlock();
        }
    }
}

Таким образом, пессимистическая блокировка предотвращает одновременный доступ к ресурсу, снижая риск конфликтов, но может привести к снижению производительности из-за ожидания блокировок.