Главная / Программирование /
Параллельные вычисления и многопоточное программирование / Тест 8
Параллельные вычисления и многопоточное программирование - тест 8
Упражнение 1:
Номер 1
Какие утверждения справедливы относительно понятия интерфейс?
Ответ:
 (1) многозначное понятие, имеющее разный смысл в зависимости от контекста 
 (2) в контексте данной главы под интерфейсом понимается класс, задаваемый ключевым словом interface
, определяющий абстрактные методы, которые должны быть реализованы наследниками интерфейсного класса 
 (3) в контексте данной главы под интерфейсом понимается часть приложения, обеспечивающая взаимодействие конечного пользователя с приложением и отвечающая за представление исходных данных и результатов 
Номер 2
Что понимается под понятием "бизнес-логика" в данном контексте?
Ответ:
 (1) логика бизнесмена 
 (2) специальный раздел математической логики 
 (3) часть приложения, описывающая содержательное решение задачи, абстрагированное от формы задания исходных данных, способа их ввода, формы представления результатов приложения 
Номер 3
Какие утверждения справедливы по отношению к взаимодействию двух частей приложения – интерфейса и бизнес-логики?
Ответ:
 (1) эти две части приложения должны быть полностью независимы. Интерфейс должен разрабатываться так, чтобы его можно было присоединить к любой бизнес-логике 
 (2) это две части приложения, не поддающиеся разделению. Каждый разрабатываемый класс приложения должен учитывать как интерфейс, так и бизнес-логику приложения 
 (3) эти части приложения должны разрабатываться так, чтобы связи между ними были по возможности слабыми. Большинство изменений в бизнес-логике не должно сказываться на интерфейсе, справедливо и обратное утверждение 
 (4) приложение с одной и той же бизнес-логикой может иметь несколько различных интерфейсов, ориентированных на различные группы пользователей приложения 
Упражнение 2:
Номер 1
Работа с какими классами ведется в интерфейсной части приложения?
Ответ:
 (1) Console
 
 (2) Polinom
 
 (3) Form
 
 (4) Person
 
Номер 2
При разработке бизнес-логики приложения какой тип проекта, скорее всего, следует предпочесть?
Ответ:
 (1) консольное приложение 
 (2) приложение Windows.Forms
 
 (3) приложение WPF
 
 (4) библиотека классов DLL 
Номер 3
Какие утверждения справедливы по отношению к интерфейсу, задаваемому двумя типами проектов – консольным приложением и приложением Windows.Forms
:
Ответ:
 (1) для конечного пользователя текстовый интерфейс консольного приложения предпочтительнее визуального графического интерфейса 
 (2) для конечного пользователя визуальный графический интерфейс предпочтительнее текстового интерфейса консольного приложения 
 (3) в текстовом интерфейсе консольного приложения в роли активной стороны, управляющей взаимодействием пользователя и приложения, выступает пользователь 
 (4) в визуальном графическом интерфейсе в роли активной стороны, управляющей взаимодействием пользователя и приложения, выступает пользователь 
Упражнение 3:
Номер 1
Под наблюдаемыми параметрами понимаются:
Ответ:
 (1) параметры пользователя 
 (2) параметры, изменяемые пользователем в интерфейсе приложения с целью воздействия на процесс работы бизнес-логики 
 (3) параметры, представляющие конечные результаты работы приложения 
 (4) параметры, отображаемые в интерфейсе приложения, значения которых изменяются в процессе работы бизнес-логики. Анализ наблюдаемых параметров позволяет пользователю воздействовать на процесс работы бизнес-логики 
Номер 2
Под управляемыми параметрами понимаются:
Ответ:
 (1) параметры пользователя 
 (2) параметры, задаваемые пользователем в интерфейсе приложения с целью воздействия на процесс работы бизнес-логики 
 (3) параметры, представляющие конечные результаты работы приложения 
 (4) параметры, отображаемые в интерфейсе приложения, значения которых изменяются в процессе работы бизнес-логики 
Номер 3
Построение многопоточного приложения, в котором интерфейс приложения выполняется в одном потоке, а бизнес-логика – в другом, необходимо для того, чтобы:
Ответ:
 (1) отделить разработку интерфейсной части приложения от разработки бизнес-логики 
 (2) получить возможность управления в интерфейсе процессом выполнения бизнес-логики, анализируя наблюдаемые параметры и задавая значения управляющих параметров 
 (3) ускорить работу бизнес-логики 
Упражнение 4:
Номер 1
Для того, чтобы корректно работать с элементами управления, созданными в другом потоке, можно использовать следующие методы:
Ответ:
 (1) Invoke
 
 (2) Thread
 
 (3) AnotherThread
 
 (4) BeginInvoke
и EndInvoke
 
Номер 2
Что происходит, когда в многопоточном приложении один поток пытается непосредственно обращаться к элементам управления визуального интерфейса, созданным в другом потоке?
Ответ:
 (1) приложение будет работать, но запись и чтение в элементы управления производиться не будет 
 (2) приложение будет работать, запись и чтение в элементы управления будет корректно работать 
 (3) при работе приложения в отладочном режиме (F5) будет выбрасываться исключение в момент обращения к элементам управления другого потока 
 (4) при работе приложения в режиме запуска без отладки (Ctrl + F5) в момент обращения к элементам управления другого потока исключение не выбрасывается, но результаты могут быть неверными из-за возможной гонки данных 
Номер 3
В многопоточном приложении элементы управления визуального графического интерфейса, созданные в одном потоке:
Ответ:
 (1) являются общими ресурсами, доступными для всех потоков 
 (2) доступны для непосредственной записи и чтения только в том потоке, в котором они созданы 
 (3) доступны в других потоках только для чтения 
 (4) доступны в других потоках только для записи 
Упражнение 5:
Номер 1
Какие утверждения справедливы относительно метода Invoke
, вызываемого при работе с элементами управления?
Ответ:
 (1) это статический метод 
 (2) это динамический метод, которым обладают все элементы управления, наследуя его от класса Control
 
 (3) метод Invoke
вызывается в потоках, когда необходимо работать с элементами управления, созданными в других потоках 
Номер 2
Какие утверждения справедливы относительно метода Invoke
, вызываемого при работе с элементами управления?
Ответ:
 (1) существует единственная реализация метода, в которой при вызове метода никакие параметры ему не передаются 
 (2) существует единственная реализация метода, в которой при вызове метода ему передаются параметры 
 (3) существуют две реализации метода. В первой реализации методу Invoke
передается один параметр, задающий метод для работы с элементом управления. Во второй реализации методу Invoke
передаются два параметра – метод и информация, необходимая методу, представленная массивом параметров 
Номер 3
Какие утверждения справедливы по отношению к методам Invoke
, BeginInvoke
, EndInvoke
:
Ответ:
 (1) все методы являются синхронными 
 (2) все методы являются асинхронными 
 (3) метод Invoke
является синхронным – выполнение приостанавливается до завершения выполнения метода в другом потоке 
 (4) метод BeginInvoke
является асинхронным – выполнение продолжается, не ожидая завершения выполнения метода в другом потоке 
Упражнение 6:
Номер 1
Приложение представляет модель взаимодействия управляющего и управляемого процессов. Это взаимодействие может быть основано на механизме:
Ответ:
 (1) взаимных ссылок 
 (2) взаимных упреков 
 (3) cобытий 
Номер 2
Какие утверждения являются справедливыми в ситуации, когда управление бизнес-логикой приложения осуществляется в визуальном интерфейсе, работающем в потоке, отличном от потока, в котором работает бизнес-логика?
Ответ:
 (1) взаимодействие управляющего и управляемого процесса в этом случае может быть построено на основе взаимных ссылок 
 (2) взаимодействие управляющего и управляемого процесса в этом случае может быть построено на основе механизма событий 
 (3) организация такого взаимодействия возможна только в случае однопоточного приложения 
Номер 3
Рассмотрим ситуацию, когда управление бизнес-логикой приложения осуществляется в визуальном интерфейсе, работающем в потоке, отличном от потока, в котором работает бизнес-логика. Какой недостаток можно отметить в организации взаимодействия управляющего и управляемого процесса, основанного на взаимных ссылках?
Ответ:
 (1) интерфейс должен знать бизнес-логику. Это означает, что в интерфейсном коде используются объекты бизнес-логики 
 (2) бизнес-логика должна знать интерфейс. Это означает, что в коде бизнес-логики используются интерфейсные объекты 
 (3) никаких недостатков нет. Это лучший способ организации взаимодействия управляемого и управляющего процессов