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

Какие средства синхронизации можно использовать для организации взаимно-исключительный доступ к разделяемому ресурсу?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 Mutex
Вариант 2 ManualResetEvent
Вариант 3 lock
Вариант 4 SemaphoreSlim


Какие средства синхронизации можно использовать в нескольких приложениях?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 Semaphore
Вариант 2 Monitor
Вариант 3 Mutex
Вариант 4 SemaphoreSlim

Какие средства синхронизации можно использовать для ожидания событий из другого потока?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 lock
Вариант 2 Semaphore
Вариант 3 AutoResetEvent
Вариант 4 Mutex

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

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

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

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

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

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

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

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

Конкурентные коллекции типа ConcurrentStack<T>, ConcurrentQueue<T>, ConcurrentBag<T> можно создавать:
(Отметьте один правильный вариант ответа.)
Вариант 1 нет правильных ответов
Вариант 2 все конкурентные коллекции можно создавать на базе соответствующих коллекций (ConcurrentStack<T> только на базе Stack<T>)
Вариант 3 на базе объектов любых типов, реализующих интерфейс IEnumerable
Вариант 4 конкурентные коллекции нельзя создавать на базе других объектов

Какие средства синхронизации можно использовать для организации параллельного доступа нескольких потоков к ресурсу?
(Отметьте один правильный вариант ответа.)
Вариант 1 Semaphore
Вариант 2 Mutex
Вариант 3 lock
Вариант 4 AutoResetEvent

Какие средства синхронизации используют вызовы ядра операционной системы?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 ManualResetEvent
Вариант 2 Mutex
Вариант 3 Monitor
Вариант 4 AutoResetEvent

Какие средства синхронизации позволяют избежать «мертвой блокировки» ожидающих потоков при возникновении сбоя внутри критической секции?
(Отметьте один правильный вариант ответа.)
Вариант 1 lock
Вариант 2 Mutex
Вариант 3 AutoResetEvent
Вариант 4 Semaphore

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

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

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

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

Какой объект синхронизации можно использовать для предотвращения запуска нескольких копий одного приложения?
(Отметьте один правильный вариант ответа.)
Вариант 1 Mutex
Вариант 2 SemaphoreSlim
Вариант 3 Interlocked
Вариант 4 Monitor

Какой инструмент синхронизации можно использовать для организации потокобезопасного увеличения счетчика целочисленного типа?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1 Monitor
Вариант 2 ConcurrentBag
Вариант 3 Interlocked
Вариант 4 SpinWait

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