20 Возможности библиотеки Task Parallel Library. Тест 2

В какое состояние может перейти поток после завершения операции ввода-вывода, если до операции поток выполнялся?
(Отметьте один правильный вариант ответа.)
Вариант 1 "Ожидающий"
Вариант 2 "Выполняющийся"
Вариант 3 "Готовый"
Вариант 4 "Приостановленный"

Для выполнения пользовательских задач с помощью пула потоков необходимо:
(Отметьте один правильный вариант ответа.)
Вариант 1 использовать метод для начала работы пула Start
Вариант 2 использовать метод для добавления рабочих элементов QueueUserWorkItem
Вариант 3 создать экземпляр класса ThreadPool
Вариант 4 задать параметры пула потоков

Локальное хранилище потоков может использоваться для хранения
(Отметьте один правильный вариант ответа.)
Вариант 1 только статические поля класса, доступного в рабочей функции потока
Вариант 2 нет правильных ответов
Вариант 3 только встроенные типы
Вариант 4 только значимые типы (value types)

Вызов метода Thread.Sleep(0) приводит к следующему:
(Отметьте один правильный вариант ответа.)
Вариант 1 текущий поток блокируется на бесконечное время
Вариант 2 поток продолжает выполняться без промедлений
Вариант 3 генерируется исключение
Вариант 4 текущий поток снимается с процессора, не дожидаясь завершения выделенного кванта времени

Для ожидания завершения обработки пользовательских рабочих элементов пулом потоков можно использовать
(Отметьте один правильный вариант ответа.)
Вариант 1 ThreadPool.Wait
Вариант 2 ThreadPool.WaitAll
Вариант 3 Thread.Join
Вариант 4 нет правильных вариантов

Применение многопоточности для параллельных вычислений связано со следующими недостатками:
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 для взаимодействия потоков требуется применение специальных средств обмена сообщениями
Вариант 2 многопоточное выполнение приложения связано с накладными расходами, превышающими расходы при многопроцессном выполнении
Вариант 3 сбой в одном потоке приводит к сбою приложения
Вариант 4 для согласования поведения потоков необходимо применение средств синхронизации

Число рабочих потоков в пуле зависит от следующих факторов:
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 параметры пула потоков
Вариант 2 возможности вычислительной системы (число процессоров/ядер)
Вариант 3 загруженность вычислительной системы
Вариант 4 число рабочих элементов, добавленных в пул потоков

В рабочей функции потока используется переменная SomeVal типа int. Переменная является общей в следующих случаях:
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 переменная объявлена внутри рабочей функции потока
Вариант 2 переменная объявлена внутри класса, содержащего рабочую функцию потока
Вариант 3 переменная класса, используемого в рабочей функции, объявлена с модификатором public.
Вариант 4 переменная класса, используемого в рабочей функции, объявлена с атрибутом ThreadStaticAttribute

Метод Thread.Yield игнорируется в случае:
(Отметьте один правильный вариант ответа.)
Вариант 1 приложение выполняется на одноядерном процессоре
Вариант 2 нет правильных ответов
Вариант 3 нет конкуренции за ядро, на котором выполняется текущий поток
Вариант 4 нет потоков с большим приоритетом, чем приоритет текущего потока

Применение многопроцессного выполнения связано со следующими проблемами:
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 гонка данных
Вариант 2 сбой одного процесса приводит к сбою всех процессов
Вариант 3 взаимодействие процессов с помощью специальных средств
Вариант 4 накладные расходы, связанные с переключением контекста разных процессов

В каких состояниях может находиться поток в процессе работы, если он не выполняет операций ввода-вывода, обращений к функциям ядра и не приостанавливается другими потоками?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 "Ожидающий"
Вариант 2 "Готовый"
Вариант 3 "Приостановленный"
Вариант 4 "Выполняющийся"

Второй аргумент в вызове метода пула потоков задает:ThreadPool.QueueUserWorkItem(f, 5);
(Отметьте один правильный вариант ответа.)
Вариант 1 число потоков, которые будет выполнять метод f
Вариант 2 аргумент метода f
Вариант 3 число копий метода f, которые добавляются в пул потоков
Вариант 4 время до запуска метода f

Объект ThreadPool позволяет:
(Отметьте один правильный вариант ответа.)
Вариант 1 автоматизировать распределение пользовательских задач по рабочим потокам пула
Вариант 2 получить информацию о распараллеливании выполнения пользовательских задач
Вариант 3 нет правильных вариантов
Вариант 4 настраивать тип декомпозиции пользовательских задач

Преимущества использования многопоточности для параллельных вычислений по сравнению с применением многопроцессности связаны:
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 для взаимодействия потоков не требуется применения средств синхронизации
Вариант 2 потоки работают в едином адресном пространстве
Вариант 3 переключение потоков одного процесса занимает меньшее время по сравнению с переключением потоков разных процессов
Вариант 4 сбой в одном потоке не приводит к сбою приложения

Для передачи управления другому потоку, конкурирующему за ядро процессора, на котором выполняется данный поток без прекращения его работы, можно использовать:
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 Thread.Stop
Вариант 2 Thread.Sleep(0)
Вариант 3 Thread.Yield
Вариант 4 нет средств для передачи управления без прекращения работы текущего потока