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

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

Упражнение 1:
Номер 1
Сколько классов содержится в пространстве имен Threading?

Ответ:

 (1)

 (2)

 (3) не более 10 

 (4) более 40 


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

Ответ:

 (1)

 (2)

 (3)

 (4)


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

Ответ:

 (1) объект класса Thread 

 (2) метод, сигнатура которого задана конструктором 

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

 (4) анонимный метод 

 (5) объект, вызывающий метод с фиксированной сигнатурой 


Упражнение 2:
Номер 1
В момент создания объекта класса Thread конструктору класса передается метод. Что можно сказать о сигнатуре этого метода?

Ответ:

 (1) метод может иметь произвольную сигнатуру 

 (2) метод может быть процедурой без аргументов 

 (3) метод может быть процедурой с одним аргументом типа object 

 (4) метод может быть процедурой с одним аргументом произвольного типа 


Номер 2
В момент создания потока ему нужно передать:

Ответ:

 (1) проект, который будет выполняться в потоке 

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

 (3) метод, который будет выполняться в потоке 

 (4) объект, который будет выполняться в потоке 


Номер 3
Программисту необходимо, чтобы в потоке выполнялся метод, имеющий три аргумента. Конструктору потока передать такой метод невозможно. Какие решения позволяют справиться с возникшей ситуацией?

Ответ:

 (1) следует признать, что задача неразрешима 

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

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

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


Упражнение 3:
Номер 1
При выполнении программы был создан поток thread_one. Что происходит в результате выполнения оператора thread_one.Start;?

Ответ:

 (1) операционная система создает новый поток 

 (2) поток переходит в состояние "Выполнение" 

 (3) поток переходит в состояние "Создание" 

 (4) поток переходит из состояния "Создание" в состояние "Готовность" 


Номер 2
При выполнении программы встретилось корректное объявление: Thread thread_one = new Thread(My_method); Что происходит в результате объявления?

Ответ:

 (1) операционная система создает новый поток 

 (2) поток запускается на выполнение 

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

 (4) физический поток переходит в состояние "создание" 


Номер 3
При выполнении программы встретилось объявление: Thread thread_one; Что происходит в результате объявления?

Ответ:

 (1) операционная система создает новый поток 

 (2) создается логический объект, описывающий поток 

 (3) создается ссылка на логический объект, задающий поток. Сам поток в этот момент не создается 


Упражнение 4:
Номер 1
Какие методы есть в классе Thread, позволяющие потоку приостановить выполнение:

Ответ:

 (1) Break 

 (2) Sleep 

 (3) Join 

 (4) Stop 


Номер 2
Какие методы есть в классе Thread, позволяющие потоку прервать выполнение дочерних потоков:

Ответ:

 (1) Interrupt 

 (2) Sleep 

 (3) Join 

 (4) Abort 


Номер 3
Какими свойствами обладают объекты класса Thread?

Ответ:

 (1) Name 

 (2) Join 

 (3) Priority  

 (4) Parent 


Упражнение 5:
Номер 1
Что происходит с потоком, когда вызывается метод Abort для прерывания работы потока?

Ответ:

 (1) поток немедленно завершает работу, независимо от состояния, в котором он находится. Управление возвращается родительскому потоку, вызвавшему метод Abort 

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

 (3) если поток находится в состоянии "ожидания" или в некоторый момент выполнения перейдет в это состояние, то в этом состоянии "зажигается" исключение ThreadAbortException. Вызов Abort предполагает, что обработчик этой ситуации предусмотрен 

 (4) если задан обработчик исключительной ситуации ThreadAbortException, то в нем можно отменить удаление потока и продолжить его выполнение 


Номер 2
Что происходит с потоком, когда вызывается метод Interrupt для прерывания работы потока?

Ответ:

 (1) поток немедленно завершает работу, независимо от состояния, в котором он находится. Управление возвращается родительскому потоку, вызвавшему метод Interrupt 

 (2) поток "зажигает" исключение и завершает работу, независимо от состояния, в котором он находится 

 (3) если поток находится в состоянии "ожидания" или в некоторый момент выполнения перейдет в это состояние, то в этом состоянии "зажигается" исключение ThreadInterruptedException. Вызов Interrupt предполагает, что обработчик этой ситуации предусмотрен 

 (4) если в момент вызова метода Interrupt поток находится в состоянии "выполнения" и в этом состоянии успешно завершает выполнение метода, то вызов Interrupt не оказывает никакого действия 


Номер 3
Что происходит, когда поток завершает выполнение метода?

Ответ:

 (1) поток начинает выполнять новый метод 

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

 (3) поток завершает работу и удаляется из списка потоков 

 (4) поток ожидает повторного запуска методом Start 


Упражнение 6:
Номер 1
Укажите высказывания, истинные для параллельного алгоритма вычисления определенного интеграла:

Ответ:

 (1) в параллельном алгоритме можно создать массив потоков, число элементов которого определяется числом отрезков разбиения интервала интегрирования 

 (2) все потоки выполняют один и тот же метод, применяемый на своем интервале интегрирования 

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

 (4) всем методам передается один и тот же фактический аргумент 

 (5) каждому методу передается свое значение фактического аргумента 


Номер 2
В параллельном алгоритме пузырьковой сортировки элементы массива потоков создаются при выполнении следующего оператора: threads[i] = new Thread(sorts[i].BubbleSortPart);. Какие утверждения являются справедливыми?

Ответ:

 (1) все потоки выполняют метод BubbleSortPart 

 (2) методу BubbleSortPart в методе Start всегда необходимо передать один или несколько фактических аргументов 

 (3) методу BubbleSortPart можно не передавать фактических аргументов 

 (4) каждый метод, работающий в потоке, получает необходимую информацию от объекта sorts[i] 


Номер 3
Параллельные версии алгоритмов пузырьковой сортировки и быстрой сортировки, представленные в этой главе, реализованы по-разному. Какие утверждения являются истинными?

Ответ:

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

 (2) в быстрой сортировке методу потока передается метод, который получает фактический аргумент в момент вызова метода Start. Вся необходимая методу информация содержится в фактическом аргументе 

 (3) реализация пузырьковой сортировки могла быть схожа с реализацией быстрой сортировки 

 (4) реализация быстрой сортировки могла быть схожа с реализацией пузырьковой сортировки 

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




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