2004-gre-cs-practice-book.pdf/Q52

Материал из DISCOPAL
< 2004-gre-cs-practice-book.pdf
Версия от 21:38, 15 декабря 2024; StasFomin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Вопрос: 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, его и надо лочить-анлочить перед операцией, другие локи не помогут никак.

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.