2004-gre-cs-practice-book.pdf/Q52 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(Новая страница: « == Вопрос: Q52-4c9f66 == <i>Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80…»)
 
 
(не показана одна промежуточная версия этого же участника)
Строка 1: Строка 1:
 
 
== Вопрос: Q52-4c9f66 ==
 
== Вопрос: Q52-4c9f66 ==
 +
[https://en.wikipedia.org/wiki/Database_transaction_schedule Расписание транзакций] является ''сериализуемым'', если его действие эквивалентно действию некоторого последовательного расписания.
  
<i>Тут вставьте перевод вопроса.
+
Рассмотрим бухгалтерскую операцию, состоящую из двух транзакций — <m>T_1</m> и <m>T_2</m>, которые необходимы для сохранения суммы ''A + B + C'' неизменной.
Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 возможности разметки],
+
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz .
+
Потом конечно сотрите инструкции, которые тут курсивом.</i>
+
  
=== Ответы ===
+
Какая из следующих пар транзакций всегда будет приводить к сериализуемому расписанию?
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
+
(префикс «Правильный ответ:» — это дословно, для правильного ответа)</i>
+
  
* Правильный ответ: тут реально правильный ответ
+
;1:
* неправильный ответ
+
    <m>T_1</m>            <m>T_2</m>
* еще какой-то неправильный ответ
+
    Lock A;        Lock B;
* еще какой-то неправильный ответ
+
    A = A - 10;    B = B - 20;
* еще какой-то неправильный ответ
+
    Unlock A;      Unlock B;
 +
    B = B + 10;    C = C + 20;
  
<i>Если ответы длинные, многострочные, или там графы, используйте
+
;2:
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
+
    <m>T_1</m>            <m>T_2</m>
Но такое очень редко встречается. </i>
+
    A = A - 10;    Lock B;
 +
    Lock B;        B = B - 20;
 +
    B = B + 10;    Unlock B;
 +
    Unlock B;      C = C + 20;
  
 +
;3:
 +
    <m>T_1</m>            <m>T_2</m>
 +
    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
  
 
=== Объяснение ===
 
=== Объяснение ===
<i>Сначала заполните номер страницы с этим вопросом
+
{{cstest-source|2004-gre-cs-practice-book.pdf|36|52}}
{{cstest-source|2004-gre-cs-practice-book.pdf|тут-номер-страницы-с-вопросом-52|52}}
+
 
 +
Общий ресурс-регистр, который модифицируют обе транзакции — B, его и надо лочить-анлочить перед операцией, другие локи не помогут никак.
  
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный.</i>
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 21:35, 15 декабря 2024 (UTC)}}
  
{{question-ok|}}
+
[[Категория:Параллельные вычисления]]

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