Назад к вопросам
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();
}
}
}
Таким образом, пессимистическая блокировка предотвращает одновременный доступ к ресурсу, снижая риск конфликтов, но может привести к снижению производительности из-за ожидания блокировок.