2004-gre-cs-practice-book.pdf/Q52 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
Строка 40: | Строка 40: | ||
{{question-ok|[[Участник:StasFomin|StasFomin]] 21:35, 15 декабря 2024 (UTC)}} | {{question-ok|[[Участник:StasFomin|StasFomin]] 21:35, 15 декабря 2024 (UTC)}} | ||
+ | |||
+ | [[Категория:Параллельные вычисления]] |
Текущая версия на 21:38, 15 декабря 2024
Вопрос: Q52-4c9f66
Расписание транзакций является сериализуемым, если его действие эквивалентно действию некоторого последовательного расписания.
Рассмотрим бухгалтерскую операцию, состоящую из двух транзакций — и , которые необходимы для сохранения суммы A + B + C неизменной.
Какая из следующих пар транзакций всегда будет приводить к сериализуемому расписанию?
- 1
Lock A; Lock B; A = A - 10; B = B - 20; Unlock A; Unlock B; B = B + 10; C = C + 20;
- 2
A = A - 10; Lock B; Lock B; B = B - 20; B = B + 10; Unlock B; Unlock B; C = C + 20;
- 3
Lock A; Lock A; A = A - 10; B = B - 20; Unlock A; Unlock A; B = B + 10; C = C + 20;
Ответы
- Только 1
- Правильный ответ: Только 2
- Только 3
- 1 и 2
- 2 и 3
Объяснение
Исходники — вопрос 52 на 36 странице книги «2004-gre-cs-practice-book.pdf»
Общий ресурс-регистр, который модифицируют обе транзакции — B, его и надо лочить-анлочить перед операцией, другие локи не помогут никак.