Главная / Программирование / Основы параллельного программирования с использованием Visual Studio 2010

Основы параллельного программирования с использованием Visual Studio 2010 - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Данный курс, посвящен описанию создания многопоточных приложений в среде Visual Studio 2010 с использованием .NET Framework. В частности, какие библиотеки, и какие классы необходимы для создания многопоточных приложений, какие инструменты Visual Studio 2010 используются для отладки этих приложений.
Выберите определения соответствующих определению языка LINQ.
(1) язык интегрированных запросов набор функций, который расширяет возможности синтаксиса языков программирования C#
(2) язык запросов, состоящий из нескольких видов выражений, которые могут использоваться в разных сочетаниях
(3) язык структурированных запросов — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных
(4) язык запросов, который возвращает набор объектов, одиночный объект или подмножество полей из объекта, либо набора объектов
Какое пространство имен содержит классы коллекций, являющимися потокобезопасными и масштабируемыми?
(1) System.ThreadCollection.Concurrent
(2) System.Collections.ThreadCollection
(3) System.Collections.Concurrent
(4) System.Concurrent.Collections
Точка останова …
(1) это сигнал, который указывает отладчику временно остановить выполнение программы в определенной точке
(2) это сигнал, который указывает отладчику полностью остановить выполнение программы в определенной точке
(3) это сигнал, который указывает отладчику пропустить выполнение программы в определенной точке
(4) это сигнал, который указывает отладчику пропустить выполнение программы до определенной точки
Выберите группы из списка, которые соответствуют способам написания программ.
(1) формирование потоков параллельного управления, без учета особенностей архитектур параллельных вычислительных систем или операционных систем
(2) формирование потоков параллельного управления, с учетом особенностей архитектур параллельных вычислительных систем или операционных систем
(3) последовательное программирование с дальнейшим автоматическим распараллеливанием
(4) последовательное программирование с дальнейшим ручным распараллеливанием
(5) описание параллелизма с использованием явного управления обеспечивается заданием только информационных связей
(6) описание параллелизма без использования явного управления обеспечивается заданием только информационных связей
Выберите верное определение Concurrency Visualizer.
(1) средство профилирования, позволяющее анализировать производительность однопоточных программ
(2) средство профилирования, позволяющее проводить анализ кода приложения на предмет возможности их распараллеливания
(3) средство профилирования, позволяющее автоматические распараллеливать последовательные приложения
(4) средство профилирования, позволяющее проводить анализ производительности параллельных программ, и анализировать последовательные приложения на предмет возможности их распараллеливания
Поток – это ...
(1) управляемая единица исполняемого кода
(2) специализированная форма многозадачности
(3) запущенная программа
(4) запущенная в фоновом режиме программа
Оператор lock
(1) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для управления доступом к пулу ресурсов
(4) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(5) предназначен для установки приоритета между различными потоками
(6) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(7) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
Выберите из списка классы, которые содержаться в пространстве имен System.Threading.Task?
(1) Task
(2) Task <TResult>
(3) TaskScheduler
(4) TaskFactory <TResult>
(5) TaskFactory
(6) TaskScheduler <TResult>
Выберите из списка группу методов относящихся к группе "Объединение".
(1) Aggregate, OfType, Min, Max, LongCount
(2) Average, Count, Min, Max, Sum
(3) Count, Min, Take, Max, ElementAt
(4) LongCount, DefaultIfEmpty, Repeat, GroupBy
(5) Concat, ToDictionary, Single, Range
(6) Skip, Select, ThenBy, Contains, Join
Интерфейса IProducerConsumerCollection
(1) предоставляет перечислитель, который поддерживает простой перебор элементов в указанной коллекции
(2) предоставляет основной интерфейс для абстракции наборов
(3) определяет метод, реализуемый типом для сравнения двух объектов
(4) обеспечивает унифицированное представление для коллекций производителей/потребителей
Выберите способы расстановки точек останова
(1) с помощью клавиши F9
(2) через пункт меню Toggle Breakpoint
(3) с помощью правой кнопкой мыши
(4) с помощью левой кнопкой мыши
(5) через пункт меню Breakpoint
(6) с помощью клавиши F10
Выберите определение, которое соответствует параллельному вычислению:
(1) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор взаимодействующих вычислительных процессов, работающих асинхронно и при этом одновременно
(2) техника, которая использует преимущества многоядерных или многопроцессорных компьютеров и является подмножеством более широкого понятия многопоточности
(3) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор самостоятельных вычислительных процессов, работающих последовательно
(4) техника, которая позволяет максимально оптимизировать использование одноядерных или однопроцессорных
Выберите представления, которые содержаться в Concurrency Visualizer.
(1) CPU Utilization
(2) Threads
(3) Tasks Utilization
(4) Cores Utilization
(5) Cores
(6) Tasks
Многопоточность – это …
(1) управляемая единица исполняемого кода
(2) специализированная форма многозадачности
(3) запущенная программа
(4) запущенная в фоновом режиме программа
Класс Interlocked
(1) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(2) предназначен для установки приоритета между различными потоками
(3) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(4) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(5) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
(6) предназначен для управления доступом к пулу ресурсов
(7) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
Выберите работающие фрагменты кода по и созданию задачи.
(1) Task.Factory.StartNew (() => Console.WriteLine ("Hello World!"));
(2) Task task = new Task (Console.Write ("Hello World!")); task.Start();
(3) Task task = new Task (() => Console.Write ("Hello World!")); task.Start();
(4) Task task = new Task (() => Console.Write ("Hello World!"));
(5) Task.Factory.StartNew (() => Console.WriteLine ("Hello World!")).Start();
(6) Task.Factory.StartNew (Console.WriteLine ("Hello World!"));
Выберите из списка группы методов относящихся к группе "Преобразование".
(1) Cast, OfType, Min, Max, LongCount
(2) Average,Count, Min, Max, Sum
(3) Min, Take, Max, ElementAt, All
(4) Cast, OfType, ToDictionary, ToSequence
(5) ToDictionary, Single, Range, Except
(6) ToArray, ToLookup, ToSequence, OfType
Выберите из списка методы, которые относятся к интерфейсу IProducerConsumerCollection
(1) TryAdd
(2) ToArray
(3) Enter
(4) CopyTo
(5) GetEnumerator
(6) IsSynchronized
(7) IsHeldByCurrentThread
(8) TryEnter
(9) TryTake
Окно Autos
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) отображает все переменные и их значения для текущей области видимости отладчика
(5) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(6) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(7) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Выберите определение, которое соответствует параллельному программированию.
(1) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор взаимодействующих вычислительных процессов, работающих асинхронно и при этом одновременно
(2) техника, которая использует преимущества многоядерных или многопроцессорных компьютеров и является подмножеством более широкого понятия многопоточности
(3) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор самостоятельных вычислительных процессов, работающих последовательно
(4) техника, которая позволяет максимально оптимизировать использование одноядерных или однопроцессорных
Что отображается в отчете Execution?
(1) гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(2) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(3) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(4) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(5) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
Процесс – это ...
(1) управляемая единица исполняемого кода
(2) специализированная форма многозадачности
(3) запущенная программа
(4) запущенная в фоновом режиме программа
Класс Monitor
(1) предназначен для управления доступом к пулу ресурсов
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для установки приоритета между различными потоками
(4) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(5) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
(6) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(7) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
Какими методами и свойствами, возможно, осуществлять ожидание выполнения задач?
(1) метод Wait
(2) метод Stop
(3) свойство Result
(4) метод ContinueWith
(5) метод WaitAll
(6) свойство IsCompleted
(7) метод Dispose
Выберите из списка группы методов относящихся к группе "Элемент".
(1) Reverse, OfType, Where, Take, LongCount
(2) SelectMany, Count, Union, Intersect, Sum
(3) DefaultIfEmpty, ElementAt, ElementAtOrDefault
(4) SingleOrDefault, First, Last, Single
(5) ToDictionary, Single, Range, Except
(6) Contains, First, GroupJoin, Cast, Concat
Spinlock это…
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Окно Locals
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) отображает все переменные и их значения для текущей области видимости отладчика
(5) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(6) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(7) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Выберите из списка существующие классы архитектур.
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Что отображается в отчете I/O?
(1) гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(2) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(3) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(4) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(5) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
Выберите список свойств содержащихся в классе Thread.
(1) CurrentContext, Context, IsAlive, IsBackground, Priority, Name, CurrentName, ThreadState, CurrentThread
(2) Context, IsAlive, IsBackground, Priority, Name, ThreadState, CurrentThread
(3) CurrentContext, IsAlive, IsBackground, Priority, Name, ThreadState, CurrentThread
(4) Context, IsAlive, IsBackground, Priority, CurrentName, ThreadState, CurrentThread
Какой из методов отправляет поток в ожидание?
(1) Pulse()
(2) PulseAll()
(3) WaitAll()
(4) Wait()
Какому объекту будет передано необработанное исключение при вызове кода в задаче?
(1) AggregationException
(2) NullReferenceException
(3) DivideByZeroException
(4) ArithmeticException
(5) ApplicationException
Все основные методы PLINQ содержаться в классе…
(1) System.Linq.Parallel.Enumerable
(2) System.Linq.Parallel
(3) System.Linq.ParallelEnumerable
(4) System.Linq.EnumerableParallel
Какая группа методов и свойств соответствует Spinlock?
(1) IsHeld, IsThreadOwnerTrackingEnabled, TryExit, TryEnter
(2) Push, IsHeldByCurrentThread, TryRemove, TryUpdate
(3) IsHeld, IsHeldByCurrentThread, Exit, TryEnter
(4) Push, TryAdd, Exit, TryEnter
(5) IsHeld, SpinUntil, TryPop, TryUpdate
Окно Watch
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Выберите из списка архитектуру, которая соответствует высказыванию "Одиночный поток команд и множественный поток данных ":
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Что отображается в отчете UI-processing?
(1) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(2) гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(3) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(4) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(5) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
Какие методы содержатся в классе Thread?
(1) Sleep, Suspend, Start, Resume, Join, Interrupt, Abort, GetDomain
(2) Sleep, Suspend, Start, Proceed, Join, Interrupt, Abort, SetDomain
(3) Sleep, Suspend, Start, Proceed, Join, Interrupt, Pause, GetDomain
(4) Sleep, Suspend, Start, Resume, Join, Interrupt, Stop, GetDomain
Класс Mutex
(1) предназначен для управления доступом к пулу ресурсов
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
(4) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(5) предназначен для установки приоритета между различными потоками
(6) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(7) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
Какую структуру следует использовать для отмены выполнения задач?
(1) CancellationToken
(2) CancellToken
(3) CancellationThreadToken
(4) CancellationTaskToken
(5) CancellThreadToken
(6) CancellTaskToken
Какие типы перегрузки верны для метода AsParallel?
(1) public static ParallelQuery<TSource> AsParallel<TSource>(this IEnumerable<TSource> source)
(2) public static ParallelQuery AsParallel(this IEnumerable<TSource> source)
(3) public static ParallelQuery AsParallel<TSource>( (this IEnumerable source)
(4) public static ParallelQuery AsParallel(this IEnumerable source)
SpinWait это…
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Окно Immediate
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Выберите из списка архитектуру, которая соответствует высказыванию "Одиночный поток команд и одиночный поток данных":
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Что отображается в отчете Sleep?
(1) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(2) гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(3) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(4) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(5) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
Выберите правильную последовательность действий для создания вторичного потока
(1) устанавливается начальные характеристики потока. Создается новый делегат ParametrizedThreadStart. Вызывается метод Thread.Start().Создается объект Thread, Создается метод, который будет точкой входа для нового потока
(2) создается объект Thread, Устанавливается начальные характеристики потока. Создается новый делегат ParametrizedThreadStart. Создается метод, который будет точкой входа для нового потока. Вызывается метод Thread.Start()
(3) создается метод, который будет точкой входа для нового потока. Создается новый делегат ParametrizedThreadStart. Создается объект Thread. Устанавливается начальные характеристики потока. Вызывается метод Thread.Start()
(4) устанавливается начальные характеристики потока. Вызывается метод Thread.Start(). Создается объект Thread, Создается метод, который будет точкой входа для нового потока
Класс Semaphore
(1) предназначен для управления доступом к пулу ресурсов
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(4) предназначен для установки приоритета между различными потоками
(5) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(6) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
(7) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
Выберите правильную форму метода, предназначенного для выполнения продолжения задачи.
(1) public Task ContinueWith()
(2) public Task Continue (Action<Task>)
(3) public Task ContinueWith(Action<Task>)
(4) public Task Continue ()
Метод WithExutionMode
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выбери группу методов и свойств соответствующих SpinWait.
(1) Count, NextSpinWillYield, SpinOnce, SpinUntil
(2) Push, PushRange, TryRemove, TryUpdate
(3) Count, IsHeldByCurrentThread, Exit, TryPopRange
(4) Count, TryPop, SpinUntil, TryEnter
(5) Push, TryAdd, Exit, NextSpinWillYield
(6) Enqueue, IsHeld, SpinUntil, TryUpdate
Окно Threads
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Выберите из списка архитектуру, которая соответствует высказыванию "Множественный поток команд и множественный поток данных ":
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Что отображается в отчете Per Thread Summary?
(1) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(2) гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(3) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(4) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(5) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
Какой синтаксис установки приоритета потока, является верным?
(1) Thread.Priority = Priority.Hight;
(2) Thread.Priority = ThreadPriority.BelowNormal;
(3) Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;
(4) Process.PriorityClass = ProcessPriorityClass.High;
Класс Barrier
(1) предназначен для управления доступом к пулу ресурсов
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(4) предназначен для установки приоритета между различными потоками
(5) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(6) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
(7) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
С помощью какого свойства можно определить, было ли сгенерировано исключение родительской задачей?
(1) ThreadException
(2) TaskException
(3) TaskMainException
(4) Exception
Метод WithDegreeOfParallelism
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
ConcurrentQueue это…
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Окно Parallel Task
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Выберите из списка архитектуру, которая соответствует высказыванию "Множественный поток команд и одиночный поток данных ":
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Что отображается в отчете Preemption?
(1) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(2) гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(3) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(4) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(5) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
Что из списка соответствует последовательности "Запустить поток, Приостановить выполнение потока, Остановить выполнение потока" и является синтаксически верным?
(1) Thread.Start(); Thread.Sleep(CurrentThread.Sleep); Thread.Abort();
(2) Thread.Start(); Thread.Pause(); Thread.Abort()
(3) Thread.Start(); Thread.Sleep(1000); Thread.Abort()
(4) Thread.Start(); Thread.Sleep(); Thread.Cancel()
Какое из событий позволяет потокам взаимодействовать друг с другом путем передачи сигналов и не использует метод Reset() для перехода в исходное состояние?
(1) ManualResetEvent
(2) AutoResetEvent
(3) ManualResetEventSlim
Какая из директив позволяет использовать библиотек Parallel?
(1) using System.Threading.Parallel.Task
(2) using System.Threading.Tasks.Parallel
(3) using System.Threading.Parallel
(4) using System.Threading.Task.Parallel
Метод AsOrdered
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Какая группа методов и свойств соответствует ConcurrentQueue?
(1) Enqueue, TryPeek, TryDequeue
(2) TryPeek, TryTake, Take
(3) TryDequeue, Add, TryAdd
(4) Enqueue, TryPeek, TryAdd
Окно Parallel Stacks
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Какая из формул описывает ускорение параллельного алгоритма.
(1) math
(2) math
(3) math
(4) math
Выберите из списка метод позволяющий запросить поток из пула.
(1) QueueWorkltem()
(2) CurrentQueueWorkltem()
(3) CurrentQueueUserWorkItem()
(4) QueueUserWorkItem()
Выберите способы создание объектов класса Task.
(1) с использованием именного метода Action и делегата
(2) с использованием делегата Action и именного метода
(3) с использованием анонимного делегата
(4) с использованием именного делегата
(5) с использованием лямбда-выражения и именного метода
(6) с использованием метода Action и анонимного метода
(7) с использованием лямбда-выражения и анонимного метода
(8) с использованием именного метода
(9) с использованием лямбда-выражения и делегата
Какие методы и их формы объявления входят в класс Parallel?
(1) For(Int32, Int32, Action)
(2) For(Int32, Int32, Action<Int32,ParallelLoopState>)
(3) ForEach(IEnumerable, Action)
(4) ForEach(Action, IEnumerable)
(5) ForEach(IEnumerable, Action<Int32,ParallelLoopState>)
(6) Invoke(Action[])
(7) For(Action, Int32, Int32)
(8) Invoke(ParallelOptions, Action[])
(9) Invoke(Action[], ParallelOptions)
(10) Invoke()
Метод Range
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
ConcurrentStack это…
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Закон Амдала…
(1) оценивает максимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
(2) описывает максимальный теоретический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(3) описывает фактический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(4) оценивает минимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
Какой из методов (и его верная форма) из списка выполняет цикл for, обеспечивая возможность параллельного выполнения итераций, а также контроля состояния цикла и управления этим состоянием?
(1) For(Int32, Int32, Action)
(2) For(Int32, Int32, Action<Int32,ParallelLoopState>)
(3) For(Action, Int32, Int32)
(4) For(Action<Int32,ParallelLoopState>),Int32, Int32)
Метод WithMergeOptions
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выбери группу методов и свойств соответствующих ConcurrentStack.
(1) TryAdd, TryPopRange, Exit, TryEnter
(2) Push, NextSpinWillYield, TryPopRange, Reset
(3) PushRange, Push, TryDequeue, SpinOnce
(4) Push, PushRangeTryPeek, TryPop
(5) Add, TryPeek, TryTake, TryPop
(6) TryAdd, TryGetValue, TryPopRange, TryUpdate
Закон Густафсона-Барсиса…
(1) оценивает максимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
(2) описывает максимальный теоретический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(3) описывает фактический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(4) оценивает минимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
Какой из методов (и его верная форма) выполняет операцию foreach для объекта IEnumerable, обеспечивая возможность параллельного выполнения итераций?
(1) ForEach(IEnumerable, Action)
(2) ForEach(Action, IEnumerable)
(3) ForEach(IEnumerable, Action<Int32,ParallelLoopState>)
(4) ForEach(IEnumerable, Action< ParallelLoopState>)
Метод AsSequential
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
ConcurrentBag это…
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Выберите из списка компоненты библиотеки PFX.
(1) библиотека PLINQ
(2) библиотека TPL
(3) пул потоков TPL
(4) пул потоков CLR
(5) параллельные коллекци
(6) библиотека CLR
(7) спин-примитивы
(8) класс PLINQ
(9) библиотека Parallel
Какой из методов (и его верная форма) выполняет каждое из указанных действий по возможности в параллельном режиме, если операция не отменена пользователем?
(1) Invoke(ParallelOptions, Action[])
(2) Invoke(Action[], ParallelOptions)
(3) Invoke(Action[])
(4) Invoke(ParallelOptions)
Метод AsUnordered
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выбери группу методов и свойств соответствующих СoncurrentBag.
(1) TryAdd, TryTake, TryPop
(2) Add, TryPeek, TryTake
(3) TryTake, Take, TryAdd
(4) Peek, TryPeek, TryAdd
Использование, какой библиотеки является декларативным?
(1) библиотека TPL
(2) библиотека Parallel
(3) библиотека PLINQ
(4) библиотека CLR
Метод Repeat
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
ConcurrentDictionary это…
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Использование, какой библиотеки является императивным?
(1) библиотека TPL
(2) библиотека Parallel
(3) библиотека PLINQ
(4) библиотека CLR
Метод Range
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выбери группу методов и свойств соответствующих ConcurrentDictionary.
(1) TryAdd, TryPopRange, Exit, TryEnter
(2) GetOrAdd, NextSpinWillYield, TryPopRange, ContainsKey
(3) PushRange, TryRemove, TryDequeue, SpinOnce
(4) ContainsKey, PushRange, TryPeek, TryPop
(5) GetOrAdd, TryRemove, TryUpdate, ContainsKey
(6) TryUpdate, TryGetValue, TryUpdate, TryUpdate
Использование какой директивы позволяет использовать библиотеку TPL?
(1) using System. Parallel.Task
(2) using System.Tasks
(3) using System. Tasks.Threading
(4) using System.Threading.Tasks
BlockingCollection это…
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Выбери группу методов и свойств соответствующих BlockingCollection.
(1) ContainsKey, CompleteAdding, AddOrUpdate
(2) TryRemove, CompleteAdding, GetConsumingEnumerable, Add
(3) TryPeek, Add, ContainsKey, TryDequeue
(4) TryAdd, Count, CompleteAdding, Reset
(5) Add, TryAdd, CompleteAdding, GetConsumingEnumerable
(6) GetConsumingEnumerable, ContainsKey, TryDequeue
LINQ это…
(1) язык интегрированных запросов набор функций, который расширяет возможности синтаксиса языков программирования C#
(2) язык запросов, состоящий из нескольких видов выражений, которые могут использоваться в разных сочетаниях
(3) язык структурированных запросов — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных
(4) язык запросов, который возвращает набор объектов, одиночный объект или подмножество полей из объекта, либо набора объектов
Выберите пространство имен, в котором содержаться потокобезопасные коллекции?
(1) System.ThreadCollection.Concurrent
(2) System.Collections.ThreadCollection
(3) System.Collections.Concurrent
(4) System.Concurrent.Collections
Выберите определение, соответствующее точки останова
(1) сигнал, который указывает отладчику временно остановить выполнение программы в определенной точке
(2) сигнал, который указывает отладчику полностью остановить выполнение программы в определенной точке
(3) сигнал, который указывает отладчику пропустить выполнение программы в определенной точке
(4) сигнал, который указывает отладчику пропустить выполнение программы до определенной точки
Какие группы из списка соответствуют способам написания программ?
(1) формирование потоков параллельного управления, без учета особенностей архитектур параллельных вычислительных систем или операционных систем
(2) формирование потоков параллельного управления, с учетом особенностей архитектур параллельных вычислительных систем или операционных систем
(3) последовательное программирование с дальнейшим автоматическим распараллеливанием
(4) последовательное программирование с дальнейшим ручным распараллеливанием
(5) описание параллелизма с использованием явного управления обеспечивается заданием только информационных связей
(6) описание параллелизма без использования явного управления обеспечивается заданием только информационных связей
Какое определение Concurrency Visualizer является верным?
(1) средство профилирования, позволяющее анализировать производительность однопоточных программ
(2) средство профилирования, позволяющее проводить анализ кода приложения на предмет возможности их распараллеливания
(3) средство профилирования, позволяющее автоматические распараллеливать последовательные приложения
(4) средство профилирования, позволяющее проводить анализ производительности параллельных программ, и анализировать последовательные приложения на предмет возможности их распараллеливания
Выберите определение соответствующее потоку.
(1) управляемая единица исполняемого кода
(2) специализированная форма многозадачности
(3) запущенная программа
(4) запущенная в фоновом режиме программа
Для чего предназначен оператор lock?
(1) используется для предоставления доступа к общему ресурсу только одному потоку синхронизации
(2) используется для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) используется для управления доступом к пулу ресурсов
(4) используется для того, что бы множество потоков встречались в определенном месте во времени
(5) используется для установки приоритета между различными потоками
(6) используется для использования атомарных операций для переменных, общедоступных нескольким потокам
(7) используется для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
В пространстве имен System.Threading.Task содержатся следующие классы…
(1) Task
(2) Task <TResult>
(3) TaskScheduler
(4) TaskFactory <TResult>
(5) TaskFactory
(6) TaskScheduler <TResult>
Группа, каких методов относится к группе "Объединение"?
(1) Aggregate, OfType, Min, Max, LongCount
(2) Average, Count, Min, Max, Sum
(3) Count, Min, Take, Max, ElementAt
(4) LongCount, DefaultIfEmpty, Repeat, GroupBy
(5) Concat, ToDictionary, Single, Range
(6) Skip, Select, ThenBy, Contains, Join
Выберите верное назначение интерфейса IProducerConsumerCollection.
(1) предоставляет перечислитель, который поддерживает простой перебор элементов в указанной коллекции
(2) предоставляет основной интерфейс для абстракции наборов
(3) определяет метод, реализуемый типом для сравнения двух объектов
(4) обеспечивает унифицированное представление для коллекций производителей/потребителей
С помощью чего в Visual Studio можно расставлять точки останова?
(1) с помощью клавиши F9
(2) через пункт меню Toggle Breakpoint
(3) с помощью правой кнопкой мыши
(4) с помощью левой кнопкой мыши
(5) через пункт меню Breakpoint
(6) с помощью клавиши F10
Параллельные вычисления - это…
(1) cпособ организации компьютерных вычислений, при котором программы разрабатываются, как набор взаимодействующих вычислительных процессов, работающих асинхронно и при этом одновременно
(2) техника, которая использует преимущества многоядерных или многопроцессорных компьютеров и является подмножеством более широкого понятия многопоточности
(3) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор самостоятельных вычислительных процессов, работающих последовательно
(4) техника, которая позволяет максимально оптимизировать использование одноядерных или однопроцессорных
Какие представления включает в себя Concurrency Visualizer?
(1) CPU Utilization
(2) Threads
(3) Tasks Utilization
(4) Cores Utilization
(5) Cores
(6) Tasks
Выберите определение соответствующее многопоточности.
(1) управляемая единица исполняемого кода
(2) специализированная форма многозадачности
(3) запущенная программа
(4) запущенная в фоновом режиме программа
Для чего используется класс Interlocked?
(1) используется для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(2) используется для установки приоритета между различными потоками
(3) используется для того, что бы множество потоков встречались в определенном месте во времени
(4) используется для использования атомарных операций для переменных, общедоступных нескольким потокам
(5) используется для предоставления доступа к общему ресурсу только одному потоку синхронизации
(6) используется для управления доступом к пулу ресурсов
(7) используется для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
Какие фрагменты кода по запуску задач и созданию реализованы верно?
(1) Task.Factory.StartNew (() => Console.WriteLine ("Hello World!"));
(2) Task task = new Task (Console.Write ("Hello World!")); task.Start();
(3) Task task = new Task (() => Console.Write ("Hello World!")); task.Start();
(4) Task task = new Task (() => Console.Write ("Hello World!"));
(5) Task.Factory.StartNew (() => Console.WriteLine ("Hello World!")).Start();
(6) Task.Factory.StartNew (Console.WriteLine ("Hello World!"));
Группы, каких методов относится к группе "Преобразование"?
(1) Cast, OfType, Min, Max, LongCount
(2) Average,Count, Min, Max, Sum
(3) Min, Take, Max, ElementAt, All
(4) Cast, OfType, ToDictionary, ToSequence
(5) ToDictionary, Single, Range, Except
(6) ToArray, ToLookup, ToSequence, OfType
Какие методы позволяет использовать интерфейс IProducerConsumerCollection?
(1) TryAdd
(2) ToArray
(3) Enter
(4) CopyTo
(5) GetEnumerator
(6) IsSynchronized
(7) IsHeldByCurrentThread
(8) TryEnter
(9) TryTake
Для чего используется окно Autos?
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) отображает все переменные и их значения для текущей области видимости отладчика
(5) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(6) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(7) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Параллельное программирование - это…
(1) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор взаимодействующих вычислительных процессов, работающих асинхронно и при этом одновременно
(2) техника, которая использует преимущества многоядерных или многопроцессорных компьютеров и является подмножеством более широкого понятия многопоточности
(3) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор самостоятельных вычислительных процессов, работающих последовательно
(4) техника, которая позволяет максимально оптимизировать использование одноядерных или однопроцессорных
В отчете Execution
(1) строится гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(2) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(3) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(4) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(5) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
Выберите определение соответствующее процессу.
(1) управляемая единица исполняемого кода
(2) специализированная форма многозадачности
(3) запущенная программа
(4) запущенный в фоновом режиме поток
Для чего используется класс Monitor?
(1) используется для управления доступом к пулу ресурсов
(2) используется для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) используется для установки приоритета между различными потоками
(4) используется для использования атомарных операций для переменных, общедоступных нескольким потокам
(5) используется для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
(6) используется для того, что бы множество потоков встречались в определенном месте во времени
(7) используется для предоставления доступа к общему ресурсу только одному потоку синхронизации
Выбери методы и свойства, которые используются для ожидания выполнения задач.
(1) метод Wait
(2) метод Stop
(3) свойство Result
(4) метод ContinueWith
(5) метод WaitAll
(6) свойство IsCompleted
(7) метод Dispose
Группы, каких методов относится к группе "Элемент"?
(1) Reverse, OfType, Where, Take, LongCount
(2) SelectMany, Count, Union, Intersect, Sum
(3) DefaultIfEmpty, ElementAt, ElementAtOrDefault
(4) SingleOrDefault, First, Last, Single
(5) ToDictionary, Single, Range, Except
(6) Contains, First, GroupJoin, Cast, Concat
Какое определение Spinlock является верным?
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Для чего используется окно Locals?
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) отображает все переменные и их значения для текущей области видимости отладчика
(5) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(6) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(7) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
М.Флинн выделил следующие классы архитектур:
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
В отчете I/O
(1) строится гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(2) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(3) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(4) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(5) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
В классе Thread содержаться следующие свойства…
(1) CurrentContext, Context, IsAlive, IsBackground, Priority, Name, CurrentName, ThreadState, CurrentThread
(2) Context, IsAlive, IsBackground, Priority, Name, ThreadState, CurrentThread
(3) CurrentContext, IsAlive, IsBackground, Priority, Name, ThreadState, CurrentThread
(4) Context, IsAlive, IsBackground, Priority, CurrentName, ThreadState, CurrentThread
Какой из методов возобновляет выполнение потока, стоящего первым в очереди потоков?
(1) Pulse()
(2) PulseAll()
(3) WaitAll()
(4) Wait()
Выберите из списка объект, которому будет передано необработанное исключение при вызове кода в задаче.
(1) AggregationException
(2) NullReferenceException
(3) DivideByZeroException
(4) ArithmeticException
(5) ApplicationException
В каком классе содержаться основные методы PLINQ.
(1) System.Linq.Parallel.Enumerable
(2) System.Linq.Parallel
(3) System.Linq.ParallelEnumerable
(4) System.Linq.EnumerableParallel
Выберите группу методов и свойств соответствующих Spinlock.
(1) IsHeld, IsThreadOwnerTrackingEnabled, TryExit, TryEnter
(2) Push, IsHeldByCurrentThread, TryRemove, TryUpdate
(3) IsHeld, IsHeldByCurrentThread, Exit, TryEnter
(4) Push, TryAdd, Exit, TryEnter
(5) IsHeld, SpinUntil, TryPop, TryUpdate
Для чего используется окно Watch?
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Какая из архитектур имеет одиночный поток команд и множественный поток данных
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
В отчете UI-processing
(1) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(2) строится гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(3) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(4) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(5) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
В классе Thread содержатся следующие методы…
(1) Sleep, Suspend, Start, Resume, Join, Interrupt, Abort, GetDomain
(2) Sleep, Suspend, Start, Proceed, Join, Interrupt, Abort, SetDomain
(3) Sleep, Suspend, Start, Proceed, Join, Interrupt, Pause, GetDomain
(4) Sleep, Suspend, Start, Resume, Join, Interrupt, Stop, GetDomain
Для чего используется класс Mutex?
(1) используется для управления доступом к пулу ресурсов
(2) используется для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) используется для предоставления доступа к общему ресурсу только одному потоку синхронизации
(4) используется для того, что бы множество потоков встречались в определенном месте во времени
(5) используется для установки приоритета между различными потоками
(6) используется для использования атомарных операций для переменных, общедоступных нескольким потокам
(7) используется для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
Выберите структуру с помощью, которой можно отменять выполнения задач
(1) CancellationToken
(2) CancellToken
(3) CancellationThreadToken
(4) CancellationTaskToken
(5) CancellThreadToken
(6) CancellTaskToken
Выберите типы перегрузки соответствующих методу AsParallel.
(1) public static ParallelQuery<TSource> AsParallel<TSource>(this IEnumerable<TSource> source)
(2) public static ParallelQuery AsParallel(this IEnumerable<TSource> source)
(3) public static ParallelQuery AsParallel<TSource>( (this IEnumerable source)
(4) public static ParallelQuery AsParallel(this IEnumerable source)
Какое определение SpinWait является верным?
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Для чего используется окно Immediate?
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Какая из архитектур имеет одиночный поток команд и одиночный поток данных?
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
В отчете Sleep
(1) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(2) строится гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(3) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(4) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(5) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
Какая последовательность действий используется при создании вторичных потоков?
(1) устанавливается начальные характеристики потока. Создается новый делегат ParametrizedThreadStart. Вызывается метод Thread.Start().Создается объект Thread, Создается метод, который будет точкой входа для нового потока
(2) создается объект Thread, Устанавливается начальные характеристики потока. Создается новый делегат ParametrizedThreadStart. Создается метод, который будет точкой входа для нового потока. Вызывается метод Thread.Start()
(3) создается метод, который будет точкой входа для нового потока. Создается новый делегат ParametrizedThreadStart. Создается объект Thread. Устанавливается начальные характеристики потока. Вызывается метод Thread.Start()
(4) устанавливается начальные характеристики потока. Вызывается метод Thread.Start().Создается объект Thread, Создается метод, который будет точкой входа для нового потока
Для чего используется класс Semaphore?
(1) используется для управления доступом к пулу ресурсов
(2) используется для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) используется для того, что бы множество потоков встречались в определенном месте во времени
(4) используется для установки приоритета между различными потоками
(5) используется для использования атомарных операций для переменных, общедоступных нескольким потокам
(6) используется для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
(7) используется для предоставления доступа к общему ресурсу только одному потоку синхронизации
Какая форма метода для выполнения продолжения задачи является верной?
(1) public Task ContinueWith()
(2) public Task Continue (Action<Task>)
(3) public Task ContinueWith(Action<Task>)
(4) public Task Continue ()
Выберите из списка назначение метода WithExutionMode.
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Какая группа методов и свойств соответствует SpinWait?
(1) Count, NextSpinWillYield, SpinOnce, SpinUntil
(2) Push, PushRange, TryRemove, TryUpdate
(3) Count, IsHeldByCurrentThread, Exit, TryPopRange
(4) Count, TryPop, SpinUntil, TryEnter
(5) Push, TryAdd, Exit, GetConsumingEnumerable
(6) Enqueue, IsHeld, SpinUntil, TryUpdate
Для чего используется окно Threads?
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Какая из архитектур имеет множественный поток команд и множественный поток данных?
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
В отчете Per Thread Summary
(1) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(2) строится гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(3) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(4) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(5) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
Выберите из списка верный синтаксис установки приоритета.
(1) Thread.Priority = Priority.Hight;
(2) Thread.Priority = ThreadPriority.BelowNormal;
(3) Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;
(4) Process.PriorityClass = ProcessPriorityClass.High;
Для чего используется класс Semaphore?
(1) используется для управления доступом к пулу ресурсов
(2) используется для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) используется для того, что бы множество потоков встречались в определенном месте во времени
(4) используется для установки приоритета между различными потоками
(5) используется для использования атомарных операций для переменных, общедоступных нескольким потокам
(6) используется для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
(7) используется для предоставления доступа к общему ресурсу только одному потоку синхронизации
Свойство позволяющее определить было ли сгенерировано исключение родительской задачей…
(1) ThreadException
(2) TaskException
(3) TaskMainException
(4) Exception
Выберите из списка назначение метода WithDegreeOfParallelism.
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Какое определение ConcurrentQueue является верным?
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Для чего используется окно Parallel Task?
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Какая из архитектур имеет множественный поток команд и одиночный поток данных?
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
В отчете Preemption
(1) отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова
(2) строится гистограмма, на которой показано количество времени, затраченное каждым не скрытым потоком в каждой категории действия на отображаемом в данный момент промежутке времени
(3) отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова
(4) отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью
(5) отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова
(6) отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова
Дана последовательность "Запустить поток, Приостановить выполнение потока, Остановить выполнение потока", что из приведенного ниже соответствует данной последовательности?
(1) Thread.Start(), Thread.Sleep(CurrentThread.Sleep).Thread.Abort()
(2) Thread.Start(), Thread.Pause().Thread.Abort()
(3) Thread.Start(), Thread.Sleep(1000).Thread.Abort()
(4) Thread.Start(), Thread.Sleep().Thread.Cancel()
Какое из событий переводится в сигнальное состояние вызовом метода Set()?
(1) ManualResetEvent
(2) AutoResetEvent
(3) ManualResetEventSlim
Выберите директиву, которая позволяет использовать библиотеку Parallel.
(1) using System.Threading.Parallel.Task
(2) using System.Threading.Tasks.Parallel
(3) using System.Threading.Parallel
(4) using System.Threading.Task.Parallel
Выберите из списка назначение метода AsOrdered.
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выбери группу методов и свойств соответствующих ConcurrentQueue.
(1) Enqueue, TryPeek, TryDequeue
(2) TryPeek, TryTake, Take
(3) TryDequeue, Add, TryAdd
(4) Enqueue, TryPeek, TryAdd
Для чего используется окно Parallel Stacks?
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Выберите из списка формулу, которая соответствует формуле ускорения параллельного алгоритма.
(1) math
(2) math
(3) math
(4) math
Какой из методов позволяет запросить поток из пула?
(1) QueueWorkltem()
(2) CurrentQueueWorkltem()
(3) CurrentQueueUserWorkItem()
(4) QueueUserWorkItem()
Использование каких способов позволяет создавать объекты класса Task?
(1) с использованием именного метода Action и делегата
(2) с использованием делегата Action и именного метода
(3) с использованием анонимного делегата
(4) с использованием именного делегата
(5) с использованием лямбда-выражения и именного метода
(6) с использованием метода Action и анонимного метода
(7) с использованием лямбда-выражения и анонимного метода
(8) с использованием именного метода
(9) с использованием лямбда-выражения и делегата
Выберите из списка методы, которые входят в класс Parallel и не содержат ошибку в форме объявления.
(1) For(Int32, Int32, Action)
(2) For(Int32, Int32, Action<Int32,ParallelLoopState>)
(3) ForEach(IEnumerable, Action)
(4) ForEach(Action, IEnumerable)
(5) ForEach(IEnumerable, Action<Int32,ParallelLoopState>)
(6) Invoke(Action[])
(7) For(Action, Int32, Int32)
(8) Invoke(ParallelOptions, Action[])
(9) Invoke(Action[], ParallelOptions)
(10) Invoke()
Выберите из списка назначение метода Range.
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Какое определение ConcurrentStack является верным?
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Выберите формулировку, которая соответствует формулировке закона Амдала.
(1) оценивает максимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
(2) описывает максимальный теоретический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(3) описывает фактический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(4) оценивает минимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
Метод, который выполняет цикл for, обеспечивая возможность параллельного выполнения итераций, а также контроля состояния цикла и управления этим состоянием…
(1) For(Int32, Int32, Action)
(2) For(Int32, Int32, Action<Int32,ParallelLoopState>)
(3) For(Action, Int32, Int32)
(4) For(Action<Int32,ParallelLoopState>),Int32, Int32)
Выберите из списка назначение метода WithMergeOptions.
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Какая группа методов и свойств соответствует ConcurrentStack?
(1) TryAdd, TryPopRange, Exit, TryEnter
(2) Push, NextSpinWillYield, TryPopRange, Reset
(3) PushRange, Push, TryDequeue, SpinOnce
(4) Push, PushRangeTryPeek, TryPop
(5) Add, TryPeek, TryTake, TryPop
(6) TryAdd, TryGetValue, TryPopRange, TryUpdate
Выберите формулировку, которая соответствует формулировке закона Густафсона-Барсиса.
(1) оценивает максимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
(2) описывает максимальный теоретический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(3) описывает фактический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(4) оценивает минимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
Метод, который выполняет операцию foreach (For Each в Visual Basic) для объекта IEnumerable, обеспечивая возможность параллельного выполнения итераций…
(1) ForEach(IEnumerable, Action)
(2) ForEach(Action, IEnumerable)
(3) ForEach(IEnumerable, Action<Int32,ParallelLoopState>)
(4) ForEach(IEnumerable, Action< ParallelLoopState>)
Выберите из списка назначение метода AsSequential.
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Какое определение ConcurrentBag является верным?
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Какие компоненты входят в библиотеку PFX?
(1) библиотека PLINQ
(2) библиотека TPL
(3) пул потоков TPL
(4) пул потоков CLR
(5) параллельные коллекции
(6) библиотека CLR
(7) спин-примитивы
(8) класс PLINQ
(9) библиотека Parallel
Метод, который выполняет каждое из указанных действий по возможности в параллельном режиме, если операция не отменена пользователем…
(1) Invoke(ParallelOptions, Action[])
(2) Invoke(Action[], ParallelOptions)
(3) Invoke(Action[])
(4) Invoke(ParallelOptions)
Выберите из списка назначение метода AsUnordered.
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Какая группа методов и свойств соответствует СoncurrentBag?
(1) TryAdd, TryTake, TryPop
(2) Add, TryPeek, TryTake
(3) TryTake, Take, TryAdd
(4) Peek, TryPeek, TryAdd
Какая библиотека позволяет использовать декларативный подход?
(1) библиотека TPL
(2) библиотека Parallel
(3) библиотека PLINQ
(4) библиотека CLR
Выберите из списка назначение метода Repeat.
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Какое определение ConcurrentDictionary является верным?
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Какая библиотека позволяет использовать императивный подход?
(1) библиотека TPL
(2) библиотека Parallel
(3) библиотека PLINQ
(4) библиотека CLR
Выберите из списка назначение метода Range.
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Какая группа методов и свойств соответствует ConcurrentDictionary?
(1) TryAdd, TryPopRange, Exit, TryEnter
(2) GetOrAdd, NextSpinWillYield, TryPopRange, ContainsKey
(3) PushRange, TryRemove, TryDequeue, SpinOnce
(4) ContainsKey, PushRange, TryPeek, TryPop
(5) GetOrAdd, TryRemove, TryUpdate, ContainsKey
(6) TryUpdate, TryGetValue, TryUpdate, TryUpdate
Выберите директиву позволяющую использовать библиотеку TPL.
(1) using System. Parallel.Task
(2) using System.Tasks
(3) using System. Tasks.Threading
(4) using System.Threading.Tasks
Какое определение BlockingCollection является верным?
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Какая группа методов и свойств соответствует BlockingCollection?
(1) ContainsKey, CompleteAdding, AddOrUpdate
(2) TryRemove, CompleteAdding, GetConsumingEnumerable, Add
(3) TryPeek, Add, ContainsKey, TryDequeue
(4) TryAdd, Count, CompleteAdding, Reset
(5) Add, TryAdd, CompleteAdding, GetConsumingEnumerable
(6) GetConsumingEnumerable, ContainsKey, TryDequeue
Какие определения соответствуют определению LINQ?
(1) язык интегрированных запросов набор функций, который расширяет возможности синтаксиса языков программирования C#
(2) язык запросов, состоящий из нескольких видов выражений, которые могут использоваться в разных сочетаниях
(3) язык структурированных запросов — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных
(4) язык запросов, который возвращает набор объектов, одиночный объект или подмножество полей из объекта, либо набора объектов
В каком пространстве имен содержаться потокобезопасные коллекции?
(1) System.ThreadCollection.Concurrent
(2) System.Collections.ThreadCollection
(3) System.Collections.Concurrent
(4) System.Concurrent.Collections
Какое определение точки останова является верным?
(1) сигнал, который указывает отладчику временно остановить выполнение программы в определенной точке
(2) сигнал, который указывает отладчику полностью остановить выполнение программы в определенной точке
(3) сигнал, который указывает отладчику пропустить выполнение программы в определенной точке
(4) сигнал, который указывает отладчику пропустить выполнение программы до определенной точки
Выберите из списка группы, которые не соответствуют способам написания программ.
(1) формирование потоков параллельного управления, без учета особенностей архитектур параллельных вычислительных систем или операционных систем
(2) формирование потоков параллельного управления, с учетом особенностей архитектур параллельных вычислительных систем или операционных систем
(3) последовательное программирование с дальнейшим автоматическим распараллеливанием
(4) последовательное программирование с дальнейшим ручным распараллеливанием
(5) описание параллелизма с использованием явного управления обеспечивается заданием только информационных связей
(6) описание параллелизма без использования явного управления обеспечивается заданием только информационных связей
Concurrency Visualizer это…
(1) средство профилирования, позволяющее анализировать производительность однопоточных программ
(2) средство профилирования, позволяющее проводить анализ кода приложения на предмет возможности их распараллеливания
(3) средство профилирования, позволяющее автоматические распараллеливать последовательные приложения
(4) средство профилирования, позволяющее проводить анализ производительности параллельных программ, и анализировать последовательные приложения на предмет возможности их распараллеливания
Какое из определений соответствует определению потока?
(1) управляемая единица исполняемого кода
(2) специализированная форма многозадачности
(3) запущенная программа
(4) запущенная в фоновом режиме программа
Выберите верное назначение оператора lock.
(1) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для управления доступом к пулу ресурсов
(4) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(5) предназначен для установки приоритета между различными потоками
(6) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(7) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
Какие классы не содержаться в пространстве имен System.Threading.Task?
(1) Task
(2) Task <TResult>
(3) TaskScheduler
(4) TaskFactory <TResult>
(5) TaskFactory
(6) TaskScheduler <TResult>
Методы, относящиеся к группе "Объединение"…
(1) Aggregate, OfType, Min, Max, LongCount
(2) Average, Count, Min, Max, Sum
(3) Count, Min, Take, Max, ElementAt
(4) LongCount, DefaultIfEmpty, Repeat, GroupBy
(5) Concat, ToDictionary, Single, Range
(6) Skip, Select, ThenBy, Contains, Join
Для чего используется интерфейс IProducerConsumerCollection
(1) предоставляет перечислитель, который поддерживает простой перебор элементов в указанной коллекции
(2) предоставляет основной интерфейс для абстракции наборов
(3) определяет метод, реализуемый типом для сравнения двух объектов
(4) обеспечивает унифицированное представление для коллекций производителей/потребителей
Как можно расставить точки останова в Visual Studio?
(1) с помощью клавиши F9
(2) через пункт меню Toggle Breakpoint
(3) с помощью правой кнопкой мыши
(4) с помощью левой кнопкой мыши
(5) через пункт меню Breakpoint
(6) с помощью клавиши F10
Какие из определений не соответствуют параллельным вычислениям?
(1) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор взаимодействующих вычислительных процессов, работающих асинхронно и при этом одновременно
(2) техника, которая использует преимущества многоядерных или многопроцессорных компьютеров и является подмножеством более широкого понятия многопоточности
(3) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор самостоятельных вычислительных процессов, работающих последовательно
(4) техника, которая позволяет максимально оптимизировать использование одноядерных или однопроцессорных
Выберите представления, которых нет в Concurrency Visualizer
(1) CPU Utilization
(2) Threads
(3) Tasks Utilization
(4) Cores Utilization
(5) Cores
(6) Tasks
Какое из определений соответствует определению многопоточности?
(1) управляемая единица исполняемого кода
(2) специализированная форма многозадачности
(3) запущенная программа
(4) запущенная в фоновом режиме программа
Выберите верное назначение класса Interlocked.
(1) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(2) предназначен для установки приоритета между различными потоками
(3) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(4) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(5) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
(6) предназначен для управления доступом к пулу ресурсов
(7) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
Создать и запустить задачи возможно с помощью следующих фрагментов кода…
(1) Task.Factory.StartNew (() => Console.WriteLine ("Hello World!"));
(2) Task task = new Task (Console.Write ("Hello World!")); task.Start();
(3) Task task = new Task (() => Console.Write ("Hello World!")); task.Start();
(4) Task task = new Task (() => Console.Write ("Hello World!"));
(5) Task.Factory.StartNew (() => Console.WriteLine ("Hello World!")).Start();
(6) Task.Factory.StartNew (Console.WriteLine ("Hello World!"));
Методы, относящиеся к группе "Преобразование"…
(1) Cast, OfType, Min, Max, LongCount
(2) Average,Count, Min, Max, Sum
(3) Min, Take, Max, ElementAt, All
(4) Cast, OfType, ToDictionary, ToSequence
(5) ToDictionary, Single, Range, Except
(6) ToArray, ToLookup, ToSequence, OfType
Какие методы не относятся к интерфейсу IProducerConsumerCollection?
(1) TryAdd
(2) ToArray
(3) Enter
(4) CopyTo
(5) GetEnumerator
(6) IsSynchronized
(7) IsHeldByCurrentThread
(8) TryEnter
(9) TryTake
Выберите из списка верное применение окна Autos
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) отображает все переменные и их значения для текущей области видимости отладчика
(5) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(6) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(7) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Какое из определений соответствуют параллельному программированию?
(1) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор взаимодействующих вычислительных процессов, работающих асинхронно и при этом одновременно
(2) техника, которая использует преимущества многоядерных или многопроцессорных компьютеров и является подмножеством более широкого понятия многопоточности
(3) способ организации компьютерных вычислений, при котором программы разрабатываются, как набор самостоятельных вычислительных процессов, работающих последовательно
(4) техника, которая позволяет максимально оптимизировать использование одноядерных или однопроцессорных
Выберите тип отчета, который соответствует следующему описанию: "В отчете отображается подробная таблица с указанием процента времени, затраченного каждым потоком в различных состояниях, например в процессе выполнения, ввода-вывода и управления памятью"
(1) Sleep
(2) UI-processing
(3) I/O
(4) Per Thread Summary
(5) Preemption
(6) Memory management
(7) Execution
Какое из определений соответствует определению процесса?
(1) управляемая единица исполняемого кода
(2) специализированная форма многозадачности
(3) запущенная программа
(4) запущенный в фоновом режиме поток
Выберите верное назначение класса Monitor.
(1) предназначен для управления доступом к пулу ресурсов
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для установки приоритета между различными потоками
(4) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(5) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
(6) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(7) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
Ожидание выполнение задач можно осуществлять ….
(1) c помощью метода Wait
(2) c помощью метода Stop
(3) c помощью свойства Result
(4) c помощью метода ContinueWith
(5) c помощью метода WaitAll
(6) c помощью свойства IsCompleted
(7) с помощью метода Dispose
Методы, относящиеся к группе "Элемент"…
(1) Reverse, OfType, Where, Take, LongCount
(2) SelectMany, Count, Union, Intersect, Sum
(3) DefaultIfEmpty, ElementAt, ElementAtOrDefault
(4) SingleOrDefault, First, Last, Single
(5) ToDictionary, Single, Range, Except
(6) Contains, First, GroupJoin, Cast, Concat
Выберите верное определение Spinlock.
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Выберите из списка верное применение окна Locals
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) отображает все переменные и их значения для текущей области видимости отладчика
(5) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(6) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(7) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Выберите из списка не существующие классы архитектур
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Выберите тип отчета, который соответствует следующему описанию: "В отчете о вводе-выводе отображаются вызовы, отвечающие за блокировки ввода-вывода, с указанием совокупного времени блокировки каждого стека вызова"
(1) Sleep
(2) UI-processing
(3) I/O
(4) Per Thread Summary
(5) Preemption
(6) Memory management
(7) Execution
Выберите свойства, которые содержаться в классе Thread
(1) CurrentContext
(2) Context
(3) IsAlive
(4) IsBackground
(5) IsPriority
(6) Name
(7) CurrentName
(8) ThreadState
(9) CurrentThread
Какой из методов сообщает о снятии блокировки всем ожидающим потокам?
(1) Pulse()
(2) PulseAll()
(3) WaitAll()
(4) Wait()
Объект, которому будет передано необработанное исключение при вызове кода в задаче…
(1) AggregationException
(2) NullReferenceException
(3) DivideByZeroException
(4) ArithmeticException
(5) ApplicationException
Выберите класс, в котором содержаться основные методы PLINQ
(1) System.Linq.Parallel.Enumerable
(2) System.Linq.Parallel
(3) System.Linq.ParallelEnumerable
(4) System.Linq.EnumerableParallel
Выберите из списка методы и свойства, которые используются в SpinLock
(1) IsHeld
(2) TryAdd
(3) Add
(4) IsThreadOwnerTrackingEnabled
(5) TryEnter
(6) Exit
(7) Push
Выберите из списка верное применение окна Watch
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Одиночный поток команд и множественный поток данных соответствует архитектуре…
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Выберите тип отчета, который соответствует следующему описанию: "В отчете отображаются вызовы, отвечающие за блокировки обработки пользовательского интерфейса, с указанием совокупного времени блокировки каждого стека вызова"
(1) Sleep
(2) UI-processing
(3) I/O
(4) Per Thread Summary
(5) Preemption
(6) Memory management
(7) Execution
Выберите методы, содержащиеся в классе Thread
(1) Sleep
(2) Proceed
(3) Suspend
(4) Start
(5) Stop
(6) Resume
(7) Join
(8) Interrupt
(9) Abort
(10) GetDomain
(11) Pause
Выберите верное назначение класса Mutex.
(1) предназначен для управления доступом к пулу ресурсов
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
(4) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(5) предназначен для установки приоритета между различными потоками
(6) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(7) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
Какая структура распространяет уведомление о том, что операции следует отменить?
(1) CancellationToken
(2) CancellToken
(3) CancellationThreadToken
(4) CancellationTaskToken
(5) CancellThreadToken
(6) CancellTaskToken
Какие типы перегрузки метода AsParallel являются правильными?
(1) public static ParallelQuery<TSource> AsParallel<TSource>(this IEnumerable<TSource> source)
(2) public static ParallelQuery AsParallel(this IEnumerable<TSource> source)
(3) public static ParallelQuery AsParallel<TSource>( (this IEnumerable source)
(4) public static ParallelQuery AsParallel(this IEnumerable source)
Выберите верное определение SpinWait.
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Выберите из списка верное применение окна Immediate
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Одиночный поток команд и одиночный поток данных соответствует архитектуре…
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Выберите тип отчета, который соответствует следующему описанию: "В отчете отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова"
(1) Sleep
(2) UI-processing
(3) I/O
(4) Per Thread Summary
(5) Preemption
(6) Memory management
(7) Execution
С помощью, какой последовательности действий можно создать вторичный поток?
(1) устанавливается начальные характеристики потока. Создается новый делегат ParametrizedThreadStart. Вызывается метод Thread.Start().Создается объект Thread, Создается метод, который будет точкой входа для нового потока
(2) создается объект Thread, Устанавливается начальные характеристики потока. Создается новый делегат ParametrizedThreadStart. Создается метод, который будет точкой входа для нового потока. Вызывается метод Thread.Start()
(3) создается метод, который будет точкой входа для нового потока. Создается новый делегат ParametrizedThreadStart. Создается объект Thread. Устанавливается начальные характеристики потока. Вызывается метод Thread.Start()
(4) устанавливается начальные характеристики потока. Вызывается метод Thread.Start().Создается объект Thread, Создается метод, который будет точкой входа для нового потока
Выберите верное назначение класса Semaphore.
(1) предназначен для управления доступом к пулу ресурсов
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(4) предназначен для установки приоритета между различными потоками
(5) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(6) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
(7) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
Какой метод используется для выполнения продолжения той или иной задачи?
(1) public Task ContinueWith()
(2) public Task Continue (Action<Task>)
(3) public Task ContinueWith(Action<Task>)
(4) public Task Continue ()
Для чего используется метод WithExutionMode?
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выберите из списка методы и свойства, которые используются в SpinWait
(1) Count
(2) IsHeld
(3) TryRemove
(4) NextSpinWillYield
(5) Exit
(6) SpinOnce
Выберите из списка верное применение окна Threads
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Множественный поток команд и множественный поток данных соответствует архитектуре…
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Выберите тип отчета, который соответствует следующему описанию: "В отчете отображаются вызовы, отвечающие за блокировки спящего режима, с указанием совокупного времени блокировки каждого стека вызова"
(1) Sleep
(2) UI-processing
(3) I/O
(4) Per Thread Summary
(5) Preemption
(6) Memory management
(7) Execution
Какой синтаксис установки приоритета потоку является не верным?
(1) Thread.Priority = Priority.Hight;
(2) Thread.Priority = ThreadPriority.BelowNormal;
(3) Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;
(4) Process.PriorityClass = ProcessPriorityClass.High;
Выберите верное назначение класса Semaphore.
(1) предназначен для управления доступом к пулу ресурсов
(2) предназначен для того, что бы одному потоку не дать войти в важный раздел кода в тот момент, когда в нем находится другой поток
(3) предназначен для того, что бы множество потоков встречались в определенном месте во времени
(4) предназначен для установки приоритета между различными потоками
(5) предназначен для использования атомарных операций для переменных, общедоступных нескольким потокам
(6) предназначен для того, что бы контролировать доступ к объектам, предоставляя блокировку объекта одному потоку
(7) предназначен для предоставления доступа к общему ресурсу только одному потоку синхронизации
Какое из свойств позволяет определить было ли сгенерировано исключение родительской задачи?
(1) ThreadException
(2) TaskException
(3) TaskMainException
(4) Exception
Для чего используется метод WithDegreeOfParallelism?
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выберите верное определение ConcurrentQueue.
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Выберите из списка верное применение окна Parallel Task
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Множественный поток команд и одиночный поток данных соответствует архитектуре…
(1) SISD
(2) SIDS
(3) SIMD
(4) MISD
(5) MIMD
(6) MIDS
(7) MIMS
Выберите тип отчета, который соответствует следующему описанию: "В отчете отображаются вызовы, отвечающие за блокировки вытеснения, с указанием совокупного времени блокировки каждого стека вызова".
(1) Sleep
(2) UI-processing
(3) I/O
(4) Per Thread Summary
(5) Preemption
(6) Memory management
(7) Execution
Какое оформление методов является верным?
(1) Thread.Start(), Thread.Sleep(CurrentThread.Sleep).Thread.Abort()
(2) Thread.Start(), Thread.Pause().Thread.Abort()
(3) Thread.Start(), Thread.Sleep(1000).Thread.Abort()
(4) Thread.Start(), Thread.Sleep().Thread.Cancel()
Какое из событий позволяет потокам взаимодействовать друг с другом путем передачи сигналов и использует метод Reset() для перехода в исходное состояние?
(1) ManualResetEvent
(2) AutoResetEvent
(3) ManualResetEventSlim
С помощью какой директивы можно использовать библиотеку Parallel?
(1) using System.Threading.Parallel.Task
(2) using System.Threading.Tasks.Parallel
(3) using System.Threading.Parallel
(4) using System.Threading.Task.Parallel
Для чего используется метод AsOrdered?
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выберите из списка методы и свойства, которые используются в ConcurrentQueue.
(1) Enqueue
(2) TryPeek
(3) TryTake
(4) TryAdd
(5) TryDequeue
(6) Take
Выберите из списка верное применение окна Parallel Stacks
(1) позволяет настраивать собственный список переменных и выражений, которые необходимо отслеживать
(2) предназначено для ручного ввода и выполнения команд. Это окно появляется автоматически при прерывании работы программы в точках останова программы
(3) позволяет просматривать и управлять всеми запущенными потокам на различных этапах отладки приложения
(4) используется для того чтобы, просматривать значения, связанные с той строкой кода, на которой находится курсор отладки
(5) отображает сведения о каждой задаче или объекте task_handle, вместо сведений о каждом потоке
(6) применяется при отладке многопоточных приложений, и содержит сведения о стеке вызова для всех потоков приложения
Ускорением параллельного алгоритма называется отношение:
(1) math
(2) math
(3) math
(4) math
Выберите метод, который используется для того, чтобы запросить поток из пула для обработки вызова метода.
(1) QueueWorkltem()
(2) CurrentQueueWorkltem()
(3) CurrentQueueUserWorkItem()
(4) QueueUserWorkItem()
Какими способами невозможно создавать объекты класса Task?
(1) с использованием именного метода Action и делегата
(2) с использованием делегата Action и именного метода
(3) с использованием анонимного делегата
(4) с использованием именного делегата
(5) с использованием лямбда-выражения и именного метода
(6) с использованием метода Action и анонимного метода
(7) с использованием лямбда-выражения и анонимного метода
(8) с использованием именного метода
(9) с использованием лямбда-выражения и делегата
Какие методы не входят в класс Parallel или содержат ошибку?
(1) For(Int32, Int32, Action)
(2) For(Int32, Int32, Action<Int32,ParallelLoopState>)
(3) ForEach(IEnumerable, Action)
(4) ForEach(Action, IEnumerable)
(5) ForEach(IEnumerable, Action<Int32,ParallelLoopState>)
(6) Invoke(Action[])
(7) For(Action, Int32, Int32)
(8) Invoke(ParallelOptions, Action[])
(9) Invoke(Action[], ParallelOptions)
(10) Invoke()
Для чего используется метод Range?
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выберите верное определение ConcurrentStack.
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Закон Амдала соответствует следующей формулировке…
(1) оценивает максимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
(2) описывает максимальный теоретический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(3) описывает фактический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(4) оценивает минимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
Выберите верные формы объявления параллельного цикла for.
(1) For(Int32, Int32, Action)
(2) For(Int32, Int32, Action<Int32,ParallelLoopState>)
(3) For(Action, Int32, Int32)
(4) For(Action<Int32,ParallelLoopState>),Int32, Int32)
Для чего используется метод WithMergeOptions?
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выберите из списка методы и свойства, которые используются в ConcurrentStack.
(1) Push
(2) PushRange
(3) TryPeek
(4) TryAdd
(5) TryPopRange
(6) TryEnter
Закон Густафсона-Барсиса соответствует следующей формулировке…
(1) оценивает максимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
(2) описывает максимальный теоретический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(3) описывает фактический выигрыш в производительности параллельного решения по отношению к лучшему последовательному решению
(4) оценивает минимально допустимое ускорение выполнения параллельной программы, в зависимости от количества одновременно выполняемых потоков вычислений и доли последовательных расчётов
Выберите верные формы объявления параллельного цикла foreach.
(1) ForEach(IEnumerable, Action)
(2) ForEach(Action, IEnumerable)
(3) ForEach(IEnumerable, Action<Int32,ParallelLoopState>)
(4) ForEach(IEnumerable, Action< ParallelLoopState>)
Для чего используется метод AsSequential?
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выберите верное определение ConcurrentBag.
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Какие компоненты не относятся к библиотеке PFX?
(1) библиотека PLINQ
(2) библиотека TPL
(3) пул потоков TPL
(4) пул потоков CLR
(5) параллельные коллекции
(6) библиотека CLR
(7) спин-примитивы
(8) класс PLINQ
(9) библиотека Parallel
Выберите верные формы объявления метода Invoke.
(1) Invoke(ParallelOptions, Action[])
(2) Invoke(Action[], ParallelOptions)
(3) Invoke(Action[])
(4) Invoke(ParallelOptions)
Для чего используется метод AsUnordered?
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выберите из списка методы и свойства, которые используются в СoncurrentBag.
(1) Add
(2) Peek
(3) Take
(4) TryPeek
(5) TryTake
(6) TryAdd
Бибилиотека использующая декларативный подход…
(1) библиотека TPL
(2) библиотека Parallel
(3) библиотека PLINQ
(4) библиотека CLR
Для чего используется метод Repeat?
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выберите верное определение ConcurrentDictionary.
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Библиотека использующая императивный подход…
(1) библиотека TPL
(2) библиотека Parallel
(3) библиотека PLINQ
(4) библиотека CLR
Для чего используется метод Range?
(1) ограничивает количество разделов, обрабатываемых параллельно
(2) генерирует последовательность целых чисел в заданном диапазоне
(3) создает параллельную последовательность, содержащую одно повторяющееся значение
(4) сохраняет порядок элементов
(5) используется в тех в запросах, которые состоят из множества частей, когда нужно упорядочить одну часть, но избежать накладных расходов по упорядочиванию результатов другой части
(6) указывает нужно выполнять параллелизацию запроса, даже если согласно поведению по умолчанию он будет выполняться последовательно
(7) задает параметры слияния для данного запроса, определяющие буферизацию вывода запросом
(8) позволяет указывать действие, которое будет выполнено над каждым элементом исходной последовательности при выполнении запрос
(9) указывает на необходимость последовательного выполнения остальной части запроса
Выберите из списка методы и свойства, которые используются в ConcurrentDictionary.
(1) GetOrAdd
(2) NextSpinWillYield
(3) TryPeek
(4) TryUpdate
(5) SpinOnce
(6) ContainsKey
С помощью, каких директив можно использовать библиотеку TPL?
(1) using System.Threading
(2) using System. Parallel.Task
(3) using System.Tasks
(4) using System. Tasks.Threading
(5) using System.Threading.Tasks
Выберите верное определение BlockingCollection.
(1) потокобезопасная коллекция, обслуживаемая по принципу "последним поступил — первым обслужен" (LIFO)
(2) тип синхронизации, который используется в низкоуровневых сценариях, чтобы избежать ресурсоемких переключений контекста и переходов в режим ядра, необходимых для событий ядра
(3) потокобезопасная коллекция, которая осуществляет блокировку и ожидает, пока не появится возможность выполнить действие по добавлению или извлечению элемента
(4) потокобезопасная коллекция, обслуживаемая по принципу "первым поступил — первым обслужен" (FIFO)
(5) потокобезопасная неупорядоченная коллекция объектов, которая реализует концепцию отображения потоков на используемые внутренне массивы, и старается избежать блокировок
(6) потокобезопасная коллекция пар "ключ-значение", доступ к которой могут одновременно получать несколько потоков
(7) структура, которая представляет низкоуровневый взаимоисключающий примитив синхронизации, выполняющий цикл в ожидании получения блокировки
Выберите из списка методы и свойства, которые используются в BlockingCollection.
(1) Add
(2) TryAdd
(3) TryPeek
(4) CompleteAdding
(5) TryDequeue
(6) GetConsumingEnumerable
Какие методы не относятся к классу Monitor?
(1) Pulse()
(2) PulseAll()
(3) WaitAll()
(4) Wait()
(5) AllPulse()