32 lines
1.1 KiB
Markdown
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) |