игра брюс 2048
Главная / Программирование / Теория и практика многопоточного программирования / Тест 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) Легальной 




Главная / Программирование / Теория и практика многопоточного программирования / Тест 7