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

Теория и практика многопоточного программирования - тест 5

Упражнение 1:
Номер 1
Примитивы синхронизации обеспечивают:

Ответ:

 (1) Синхронность исполнения команд на 2 и более процессорах 

 (2) Коммуникацию между потоками 

 (3) Синхронизацию часов для различных потоков 


Номер 2
Примитивы синхронизации индивидуальны для различных языков?

Ответ:

 (1) Да 

 (2) Нет 


Номер 3
Примитивы синхронизации являются собственностью потока?

Ответ:

 (1) Да 

 (2) Нет 


Упражнение 2:
Номер 1
Можно ли ввести критерий корректности для программы-генератора случайных чисел?

Ответ:

 (1) Да 

 (2) Нет 


Номер 2
Для программ существует формальное математическое определение корректности?

Ответ:

 (1) Да 

 (2) Нет 


Номер 3
Для определения корректности программы достаточно статического анализа кода?

Ответ:

 (1) Да 

 (2) Нет 


Упражнение 3:
Номер 1
Для фиксации приоритета потока можно использовать циклическую систему времени?

Ответ:

 (1) Да 

 (2) Нет 


Номер 2
Использование системных часов всегда решает проблему вычисления приоритета?

Ответ:

 (1) Да 

 (2) Нет 


Номер 3
Время и временные отметки – это синонимы с точки зрения программы?

Ответ:

 (1) Да 

 (2) Нет 


Упражнение 4:
Номер 1
Подграф А доминирует надо подграфом Б:

Ответ:

 (1) Если каждая вершина А доминирует над всеми вершинами Б 

 (2) Если значения в вершинах А больше любого значения Б 

 (3) Если каждая вершина А доминирует над хотя бы одной вершиной из Б 


Номер 2
Если "" – доминирование, и ad, ae, bc, bd, то:

Ответ:

 (1) {a,b}{c,d} 

 (2) {a,b}{d} 

 (3) {c,d}{a} 


Номер 3
Доминирование на графе – транзитивное отношение?

Ответ:

 (1) Да 

 (2) Нет 


Упражнение 5:
Номер 1
Гонка данных:

Ответ:

 (1) Нарушает заложенную в программу логику 

 (2) Блокирует исполнение потока 

 (3) Приводит к стабильному воспроизведению ошибки 


Номер 2
Гонка данных – это:

Ответ:

 (1) Конкурентный доступ на чтение к одной переменной 

 (2) Конкурентный доступ к переменной, в котором хотя бы один поток изменяет её значение 

 (3) Рассинхронизация потоков 


Номер 3
Плавающие ошибки в программе могут быть обусловлены:

Ответ:

 (1) гонкой данных 

 (2) недостаточной производительностью процессора 

 (3) несвоевременным переключением контекста 


Упражнение 6:
Номер 1
Более подвержены проблеме ABA:

Ответ:

 (1) Управляемые языки 

 (2) Неуправляемые языки 


Номер 2
В управляемых языках невозможно воспроизвести ситуацию ABA?

Ответ:

 (1) Да 

 (2) Нет 


Номер 3
Проблема ABA – это:

Ответ:

 (1) Последствия некорректного именования переменных 

 (2) Следствие гонки данных 

 (3) Проблема использования указателей для идентификации объекта 


Упражнение 7:
Номер 1
Спор за блокировку приводит:

Ответ:

 (1) К остановке программы 

 (2) Нарушению порядка исполнения 

 (3) Плохому масштабированию программы 


Номер 2
Возможен ли в неожидающей реализации алгоритма спор за блокировку?

Ответ:

 (1) Да 

 (2) Нет 


Номер 3
Если программа на 2 ядрах исполняется за 8 секунд, в на 4 ядрах за 6, то наиболее вероятной причиной этому может быть:

Ответ:

 (1) Спор за блокировку 

 (2) Гонка данных 

 (3) Переполнение стэка 


Упражнение 8:
Номер 1
Возможна ли ситуация взаимной блокировки в неожидающем алгоритме?

Ответ:

 (1) Да 

 (2) Нет 


Номер 2
Что общего у проблемы "взаимная блокировка" и "имитация деятельности"?

Ответ:

 (1) Обе проблемы возникают из-за вечных циклов 

 (2) Обе проблемы разрешаются увеличением времени ожидания 

 (3) Обе проблемы приводят к прекращению прогресса в исполнении программы 


Номер 3
Каким образом можно избежать взаимной блокировки?

Ответ:

 (1) Используя Spinlock вместо Mutex 

 (2) Используя компиляцию без оптимизации 

 (3) Используя примитивы синхронизации с принудительным прерыванием ожидания 




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