Главная / Программирование /
Теория и практика многопоточного программирования / Тест 7
Теория и практика многопоточного программирования - тест 7
Упражнение 1:
Номер 1
Как в модели детерминированного конечного автомата можно интерпретировать запись значения переменной?
Ответ:
 (1) Как состояние автомата 
 (2) Как переход в автомате 
 (3) Как изменение самого автомата 
Номер 2
Может ли существовать модель программы с пустым множеством конечных состояний?
Ответ:
 (1) Да 
 (2) Нет 
Номер 3
Модель программы, в которой при возникновении определённого события для определённого состояния может с некоторой вероятностью произойти один из множества переходов, называется:
Ответ:
 (1) Детерминированный конечный автомат 
 (2) Недетерминированный конечный автомат 
 (3) Сеть Петри 
Упражнение 2:
Номер 1
Алгоритм, приведённый ниже, относится к типу:
for (int i = 0; i < N; i++) {
lock.lock();
array[i].proceed();
lock.unlock();
}
Ответ:
 (1) Блокирующих 
 (2) Неблокирующих 
 (3) Свободных от ожидания 
Номер 2
Алгоритм, приведённый ниже, относится к типу:
int oldValue = -1;
while(oldValue != r.compareAndSet(oldValue, myValue)) oldValue = r.get();
proceed();
Ответ:
 (1) Блокирующих 
 (2) Неблокирующих 
 (3) Свободных от ожидания 
Номер 3
Алгоритм, приведённый ниже, относится к типу:
int oldValue = -1;
if (oldValue != r.compareAndSet(oldValue, myValue)) {
//someone was faster
foo();
} else {
//that’s my turn!
bar();
Ответ:
 (1) Блокирующих 
 (2) Неблокирующих 
 (3) Свободных от ожидания 
Упражнение 3:
Номер 1
Является ли построенное выражение противоречивым:
write[A](flag[A]=true) read[A](flag(B)==false)
write[B](flag[B]=true) read[B](flag(A)==false)
Ответ:
 (1) Да 
 (2) Нет 
Номер 2
Могут ли в критической секции находиться одновременно два потока?
Ответ:
 (1) Да 
 (2) Нет 
Номер 3
Могут ли два потока одновременно выполнять метода входа в критическую секцию?
Ответ:
 (1) Да 
 (2) Нет 
Упражнение 4:
Номер 1
Всегда ли метод входа в критическую секцию завершается за конечное число шагов?
Ответ:
 (1) Да 
 (2) Нет 
Номер 2
Как называется свойство алгоритма блокировки, при котором поток, завершивший входную секцию раньше, чем другие её начали, первым войдёт в критическую секцию
Ответ:
 (1) Неожидающее свойство 
 (2) Честность 
 (3) Детерминированность 
Номер 3
При честной реализации замка, в каком порядке могут войти потоки в критическую секцию?
doorway1[A]doorway1[B]doorway2[A]doorway2[B]doorway1[С] doorway2[С]waiting[С]waiting[B]waiting[A]
Ответ:
 (1) A,B, C 
 (2) A, C, B 
 (3) B, A, C 
Упражнение 5:
Номер 1
Утверждение соответствует тотальной последовательной спецификации:
Ответ:
 (1) Собака, если ей кинуть палочку, обязательно её принесёт.
 
 (2) Если в банке лежит больше одной конфеты, операция по извлечению одной конфеты закончится успешно.
 
 (3) Довольный кот, если его погладить, будет урчать.
 
Номер 2
Формальное описание метода, которое учитывает все возможные состояния объекта, можно назвать:
Ответ:
 (1) Глобальным 
 (2) Дескриптивным 
 (3) Тотальным 
Номер 3
Чем отличается сигнатура метода от последовательной спецификации?
Ответ:
 (1) В сигнатуре можно опускать имена переменных 
 (2) Последовательная спецификация рассматривается только в последовательных системах 
 (3) Последовательная спецификация включает в себя сигнатуру и описывает ожидаемое поведение метода 
Упражнение 6:
Номер 1
Упорядоченная согласованность гарантирует порядок исполнения методов:
Ответ:
 (1) По времени 
 (2) В порядке вызова в рамках одного потока 
 (3) В порядке вызова в рамках всей системы 
Номер 2
Регистры, обладающие свойством упорядоченной согласованности, называются:
Ответ:
 (1) Безопасными 
 (2) Регулярными 
 (3) Атомарными 
Номер 3
Допустима ли для регулярного регистра такая ситуация:
writeStart[A](R=2)writeEnd[A](R=2)writeStart[A](R=3)
read[B](R==3)read[B](R==2)writeEnd[A](R=3)
Ответ:
 (1) Да 
 (2) Нет 
Упражнение 7:
Номер 1
Линеаризуемый регистр иначе называется:
Ответ:
 (1) Атомарным 
 (2) Константой 
 (3) Регулярным 
Номер 2
Допустима ли для атомарного регистра такая ситуация:
writeStart[A](R=2)writeEnd[A](R=2)writeStart[A](R=3)
read[B](R==3)read[B](R==2)writeEnd[A](R=3)
Ответ:
 (1) Да 
 (2) Нет 
Номер 3
Укажите верное утверждение:
Ответ:
 (1) Точка линеаризации фиксирует изменение состояние объекта, видимое для других потоков 
 (2) Линеаризуемый регистр имеет неизменяемое значение 
 (3) Точка линеаризации совпадает с завершением метода 
Упражнение 8:
Номер 1
Подыстория H|X системы по объекту X может содержать вызовы методов объекта Y?
Ответ:
 (1) Да 
 (2) Нет 
Номер 2
. Подыстория H|A системы по потоку A может содержать вызовы методов объектов, созданных в других потоках?
Ответ:
 (1) Да 
 (2) Нет 
Номер 3
История, у которой вызовов на один меньше, чем возвратов, может быть:
Ответ:
 (1) Последовательной 
 (2) Завершённой 
 (3) Легальной