Back to questions
Senior
8
Что такое пессимистическая блокировка?
Companies where asked
Lenta Tech
Answer from AI
sobes.tech AI
Пессимистическая блокировка — это подход к управлению конкурентным доступом к данным, при котором ресурс блокируется сразу при начале операции, чтобы предотвратить конфликты. То есть, когда транзакция хочет изменить данные, она захватывает блокировку, и другие транзакции ждут, пока блокировка не освободится.
В Go это может быть реализовано с помощью мьютексов (sync.Mutex), которые блокируют доступ к разделяемым данным:
var mu sync.Mutex
func updateData() {
mu.Lock() // пессимистическая блокировка
defer mu.Unlock()
// критическая секция
}
Такой подход гарантирует, что в один момент времени только одна горутина изменяет данные, но может привести к снижению параллелизма и блокировкам.