digital-garden/_inbox/Two Phase Lock.md

32 lines
1.1 KiB
Markdown

---
aliases:
- 2-phase lock
tags:
- зрелость/🌱
date:
- - 2024-06-20
zero-link:
- "[[00 Архитектура ПО]]"
parents:
- "[[Блокировки]]"
linked:
---
Блокировка на запись в том числе блокирует на чтение.
Первая фаза: установка блокировки
Вторая фаза: снятие
Хотим изменить данные:
- ставим блокировку на запись
- ждем, пока все блокировки, которые были установлены до нашей, будут сняты
- меняем запись
- снимаем блокировку
Хотим прочитать строчку:
- Ставим блокировку на чтение
- Ждем пока все блокировки ==на запись==, которые были установлены до нашей, будут сняты.
- Считываем запись
- Снимаем блокировку
## Дополнительные материалы
- [Two-phase locking - Wikipedia](https://en.wikipedia.org/wiki/Two-phase_locking)