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

Параллельные вычисления и многопоточное программирование - тест 6

Упражнение 1:
Номер 1
Что такое пул потоков?

Ответ:

 (1) массив потоков, создаваемых программистом 

 (2) множество потоков, созданное и управляемое операционной системой 

 (3) список потоков, поставленных в очередь на выполнение 


Номер 2
Класс ThreadingPool - это:

Ответ:

 (1) статический класс 

 (2) динамический класс 

 (3) класс, создаваемый программистом 

 (4) библиотечный класс из пространства имен System.Threading 


Номер 3
Объект класса ThreadingPool – это:

Ответ:

 (1) динамический объект, создаваемый программистом всякий раз, когда необходимо работать с пулом потоков 

 (2) статический объект, имя которого совпадает с именем статического класса ThreadingPool, связанный с пулом потоков, созданным операционной системой  

 (3) объект, созданный системой автоматически и предоставляемый программисту для использования 


Упражнение 2:
Номер 1
Укажите высказывания, истинные при работе с пулом потоков:

Ответ:

 (1) когда очередь задач не пуста, а в пуле потоков есть свободные потоки, то операционная система связывает задачу, стоящую первой в очереди, со свободным потоком, после чего поток переходит в состояние "готовность" 

 (2) когда поток завершает выполнение задачи, он удаляется из пула потоков 

 (3) метод Join позволяет дождаться завершения задачи, выполняемой потоком из пула потоков 


Номер 2
Что не может делать программист при работе с пулом потоков?

Ответ:

 (1) создать пул потоков  

 (2) удалить пул потоков  

 (3) добавить поток в пул потоков  

 (4) поставить задачу в очередь на выполнение ее одним из потоков пула 

 (5) удалить задачу из очереди на выполнение  


Номер 3
Что может делать программист при работе с пулом потоков?

Ответ:

 (1) создать пул потоков  

 (2) удалить пул потоков  

 (3) добавить поток в пул потоков  

 (4) поставить задачу в очередь на выполнение ее одним из потоков пула 

 (5) удалить поток из пула потоков  


Упражнение 3:
Номер 1
Как связать метод, определяющий задачу, с потоком из пула?

Ответ:

 (1) конструктору класса ThreadPool передать метод в качестве аргумента 

 (2) конструктору класса Thread передать метод в качестве аргумента 

 (3) вызвать статический метод QueueUserWorkItem класса ThreadPool и передать ему метод в качестве аргумента 

 (4) вызвать статический метод Start класса ThreadPool и передать ему метод в качестве аргумента 


Номер 2
 Какие утверждения справедливы относительно метода QueueUserWorkItem?

Ответ:

 (1) метод позволяет поставить задачу в очередь на выполнение пулом потоков 

 (2) это статический метод 

 (3) это динамический метод 

 (4) метод реализован как функция 

 (5) метод реализован как процедура 

 (6) у метода две реализации 


Номер 3
Какие утверждения справедливы относительно параметров метода QueueUserWorkItem?

Ответ:

 (1) в одной реализации у метода один параметр 

 (2) в другой реализации у метода два параметра 

 (3) первый параметр задает метод, выполняемый потоком 

 (4) второй параметр задает информацию, передаваемую методу, выполняемому в потоке 

 (5) фактический аргумент, передаваемый в качестве второго параметра, должен иметь тип object 


Упражнение 4:
Номер 1
Какие утверждения являются истинными по отношению к пулу потоков?

Ответ:

 (1) пул потоков создается операционной системой и используется для улучшения возможностей ОС по управлению потоками. В программах на C# нет возможности непосредственного обращения к пулу потоков 

 (2) пул потоков создается операционной системой исключительно для выполнения методов пользователя. Операционная система не использует пул потоков в собственных интересах 

 (3) потоки из пула потоков могут выполнять задачи, создаваемые самой операционной системой, так и задачи, поставленные в очередь, при выполнении программ пользователей 


Номер 2
Укажите достоинства работы с пулом потоков:

Ответ:

 (1) повышается эффективность использования потоков 

 (2) повышается эффективность работы метода, передаваемого потоку 

 (3) облегчается синхронизация потоков 

 (4) исчезает необходимость собственного создания потоков 


Номер 3
Укажите недостатки работы с пулом потоков:

Ответ:

 (1) ухудшается эффективность использования потоков 

 (2) ухудшается эффективность работы метода, передаваемого потоку 

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

 (4) невозможно давать собственные имена потокам из пула, что затрудняет слежение за ходом выполнения задачи 

 (5) возникает необходимость собственного создания потоков 


Упражнение 5:
Номер 1
TPL (Task Parallel Library) – библиотека параллельных задач – это библиотека:

Ответ:

 (1) содержащая классические алгоритмы, допускающие распараллеливание 

 (2) впервые появившаяся в версии Framework.Net 4.0, облегчающая создание программ с параллельными вычислениями 

 (3) содержащая классы Task, Parallel и многие другие классы, позволяющие абстрагироваться от непосредственного создания и работы с потоками 


Номер 2
Какие утверждения справедливы относительно классов Task и Task<TResult>:

Ответ:

 (1) класс Task является статическим классом, а класс Task<TResult> - динамическим классом, позволяющим создавать экземпляры класса 

 (2) методы, передаваемые объектам класса Task, являются процедурами, а классу Task<TResult> передаются функции 

 (3) класс Task<TResult> является наследником класса Task 

 (4) конструктор класса Task<TResult> имеет один параметр типа TResult 


Номер 3
Сколько конструкторов у класса Task?

Ответ:

 (1)

 (2)

 (3)

 (4)


Упражнение 6:
Номер 1
Каково назначение метода ContinueWith класса Task?

Ответ:

 (1) такого метода у класса нет 

 (2) позволяет организовать цепочку выполнения задач, когда следующая задача начинает выполняться после завершения предыдущей задачи 

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


Номер 2
Какие свойства имеет класс Task?

Ответ:

 (1) QueueUserWorkItem 

 (2) Status 

 (3) Wait 

 (4) IsComleted 

 (5) Start 


Номер 3
Какие методы имеет класс Task?

Ответ:

 (1) QueueUserWorkItem 

 (2) ContinueWith 

 (3) Wait 

 (4) IsComleted 

 (5) Start 


Упражнение 7:
Номер 1
Укажите истинные высказывания:

Ответ:

 (1) метод Wait класса Task позволяет ждать завершения задачи в течение заданного интервала времени 

 (2) метод WaitAll класса Task позволяет ждать завершения массива задач 

 (3) методы Wait класса Task позволяют организовать взаимную блокировку задач 


Номер 2
Укажите истинные высказывания:

Ответ:

 (1) использование класса Task предпочтительнее использования класса Thread 

 (2) реализация работы с объектами класса Task основана на использовании пула потоков 

 (3) при распараллеливании вычислений лучшие результаты по времени выполнения достигаются при использовании объектов класса Thread в сравнении с использованием объектов класса Task 


Номер 3
Каким отношением связаны классы Task и Task<TResult>?

Ответ:

 (1) класс Task является наследником класса Task<TResult> 

 (2) класс Task<TResult> является наследником класса Task 

 (3) класс Task является клиентом класса Task<TResult> 

 (4) класс Task<TResult> является клиентом класса Task 




Главная / Программирование / Параллельные вычисления и многопоточное программирование / Тест 6