Главная / Программирование /
Common Intermediate Language и системное программирование в Microsoft .NET / Тест 15
Common Intermediate Language и системное программирование в Microsoft .NET - тест 15
Упражнение 1:
Номер 1
Аналогично средствам операционной системы средства .NET Framework могут быть разделены на следующие группы:
Ответ:
 (1) обработка асинхронных запросов 
 (2) организация многопоточных приложений 
 (3) работа с различными процессами и доменами приложений 
 (4) работа с различными процедурами 
Номер 2
К организации многопоточных приложений можно отнести:
Ответ:
 (1) средства создания потоков, управления ими 
 (2) средства взаимной синхронизации 
 (3) надстройки над абстракциями высокого уровня 
 (4) организация локальной для потоков памяти 
Номер 3
При запуске .NET приложения автоматически создается:
Ответ:
 (1) пул потоков, используемый CLR по мере надобности 
 (2) пул потоков, используемый RPC по мере надобности 
 (3) пул потоков, используемый TLS по мере надобности 
 (4) пул потоков, используемый APC по мере надобности 
Упражнение 2:
Номер 1
Для облегчения процесса переноса .NET на другие платформы в архитектуру CLR включен специальный уровень адаптации к платформе:
Ответ:
 (1) APC 
 (2) PAL 
 (3) RPC 
 (4) RFC 
Номер 2
Platform Adaptation Layer является прослойкой между основными механизмами CLR и:
Ответ:
 (1) уровнем виртуальной подсистемы 
 (2) уровнем операционной подсистемы 
 (3) уровнем виртуальной системы 
 (4) уровнем операционной системы 
Номер 3
В случае платформы Windows PAL должен предоставить для CLR функциональность, аналогичную:
Ответ:
 (1) Win32 API 
 (2) COM 
 (3) .NET 
 (4) RPC 
Упражнение 3:
Номер 1
В случае платформ, не поддерживающих многопоточные приложения, PAL должен:
Ответ:
 (1) самостоятельно реализовать недостающую функциональность 
 (2) с помощью COM реализовать недостающую функциональность 
 (3) с помощью RPC реализовать недостающую функциональность 
 (4) с помощью диспетчера недостающую функциональность 
Номер 2
Потоки в .NET не предусматривают средств:
Ответ:
 (1) управления потоками 
 (2) управления процедурами 
 (3) управления волокнами 
 (4) управления секциями 
Номер 3
Основные классы для реализации многопоточных приложений определены в пространстве имен:
Ответ:
 (1) System.Threading
 
 (2) System.Thread
 
 (3) System.Reading
 
 (4) System.Class
 
 (5) System.Pipes
 
Упражнение 4:
Номер 1
Для .NET верно:
Ответ:
 (1) не предусмотрено передачи аргументов в процедуру потока 
 (2) процедура должна быть статическим методом 
 (3) класс Thread
является опечатанным 
Номер 2
Если начальные значения всех элементов матриц равны 1, то результирующая матрица должна быть заполнена числами, равными:
Ответ:
 (1) размерности перемножаемых матриц 
 (2) cумме перемножаемых матриц 
 (3) произведению перемножаемых матриц 
 (4) частному перемножаемых матриц 
Номер 3
Поток в .NET может находиться в одном из следующих состояний:
Ответ:
 (1) незапущенном 
 (2) исполнения 
 (3) ожидания 
 (4) приостановленном 
 (5) завершенном 
 (6) прерванном 
Упражнение 5:
Номер 1
Текущее состояние потока можно определить с помощью свойства:
Ответ:
 (1) Thread.ThreadState
 
 (2) Thread.State
 
 (3) Thread.PipesState
 
 (4) Thread.Pipes
 
Номер 2
Для выполнения задержек в ходе выполнения потока предназначены следующие методы:
Ответ:
 (1) Sleep
 
 (2) Wait
 
 (3) WakeUp
 
 (4) SpinWait
 
Номер 3
Для получения и задания приоритета потока используется свойство:
Ответ:
 (1) Thread.Get
 
 (2) Thread.Priority
 
 (3) Get.State
 
 (4) Priority.State
 
Упражнение 6:
Номер 1
Для реализации асинхронного ввода-вывода в .NET предназначен абстрактный класс:
Ответ:
 (1) System.IO.Stream
 
 (2) System.IO
 
 (3) System.IO.MemoryStream
 
 (4) System.IO.BufferedStream
 
Номер 2
Какой потомок абстрактного класса Stream
в .NET Framework предоставляет возможность использования байтового массива в качестве источника или получателя данных:
Ответ:
 (1) System.IO.Stream
 
 (2) System.NET.Sockets.NetworkStream
 
 (3) System.IO.BufferedStream
 
 (4) System.IO.MemoryStream
 
Номер 3
Какой потомок абстрактного класса Stream
в .NET Framework обеспечивает буферизацию запросов чтения и записи:
Ответ:
 (1) System.IO.Buffered
 
 (2) System.IO.BufferedStream
 
 (3) System.BufferedStream
 
 (4) System.IO.Stream
 
 (5) BufferedStream
 
 (6) IO.BufferedStream
 
Упражнение 7:
Номер 1
Класс ThreadPool
предлагает следующие способы для вызова асинхронных процедур:
Ответ:
 (1) явное размещение вызовов в очереди 
 (2) неявное размещение вызовов в очереди 
 (3) связывание вызовов с переводом некоторых объектов в свободное состояние 
 (4) связывание вызовов с переводом некоторых объектов в специальное состояние 
Номер 2
.NET позволяет осуществлять асинхронные вызовы любых процедур с помощью метода:
Ответ:
 (1) BeginInvoke
делегатов 
 (2) ThreadPool
делегатов 
 (3) QueueUserWorkItem
делегатов 
 (4) WaitHandle
делегатов 
Номер 3
Какой метод ставит вызов указанной процедуры в очередь для обработки:
Ответ:
 (1) ThreadPool.QueueUser
 
 (2) ThreadPool.QueueUserWorkItem
 
 (3) RegisterWaitForSingleObject
 
 (4) System.Threading.WaitHandle
 
 (5) AsyncState
 
Упражнение 8:
Номер 1
В случае с использованием объектов, производных от класса System.Threading.WaitHandle
вызов асинхронной процедуры связывается с переводом объекта:
Ответ:
 (1) в статическое состояние 
 (2) в динамическое состояние 
 (3) в свободное состояние 
 (4) в произвольное состояние 
Номер 2
Когда определяется какой-либо делегат функции, для него будут определены методы:
Ответ:
 (1) BeginInvoke
 
 (2) AsyncCallback
 
 (3) AsyncState
 
 (4) EndInvoke
 
 (5) IAsyncResult
 
Номер 3
Какой метод содержит все выходные параметры:
Ответ:
 (1) EndInvoke
 
 (2) IAsyncResult
 
 (3) BeginInvoke
 
 (4) AsyncWaitHandle
 
 (5) WaitHandle
 
Упражнение 9:
Номер 1
Какой метод позволяет узнать результат завершения процедуры:
Ответ:
 (1) EndInvoke
 
 (2) BeginInvoke
 
 (3) IAsyncResult
 
Номер 2
Использование BeginInvoke
позволяет связать с завершением обработки асинхронной процедуры:
Ответ:
 (1) еще один асинхронный вызов 
 (2) один синхронный вызов 
 (3) два синхронных вызова 
Номер 3
Метод EndInvoke
служит для ожидания:
Ответ:
 (1) завершения обработки синхронной процедуры 
 (2) начала обработки асинхронной процедуры 
 (3) завершения обработки асинхронной процедуры 
 (4) начала обработки синхронной процедуры 
Упражнение 10:
Номер 1
.NET предоставляет следующий набор средств взаимодействия потоков и их взаимной синхронизации:
Ответ:
 (1) атомарные операции 
 (2) локальная для потока память 
 (3) синхронизирующие примитивы 
 (4) таймеры 
Номер 2
Какие методы платформы .NET позволяют осуществлять операции над целыми числами, которые могут выполняться атомарно:
Ответ:
 (1) Increment
 
 (2) Decrement
 
 (3) Exchange
 
 (4) CompareExchange
 
 (5) Compare
 
Номер 3
Самое начало процедуры потока, там, где определяется номер полосы:public static void ThreadProc()
{
int i,j,k, from, to;
from = ( m_stripused++ ) * m_stripsize;
to = from + m_stripsize;
...с помощью атомарных операций можно переписать так:
Ответ:
 (1) public static void ThreadProc()
{
int i,j,k, from, to;
from = (Interlocked.Increment(ref m_stripused) - 1 ) * m_stripsize;
... 
 (2) public static void ThreadProc()
{
int i,j,k, from, to;
from = (Interlocked.Increment(ref m_stripused) - 1 ) * m_stripsize;
to = from + m_stripsize;
... 
 (3) public static ThreadProc()
{
int i,j,k;
from = (Interlocked.Increment(ref m_stripused) - 1 ) * m_stripsize;
to = from + m_stripsize;
... 
 (4) public static void ThreadProc()
{
int i,j,k, from, to;
from = (Interlocked.Increment(ref m_stripused) m_stripsize;
to = from + m_stripsize;
... 
 (5) public ThreadProc()
{
int i,j,k, from, to;
from = (Interlocked.Increment() - 1 ) * m_stripsize;
to = from;
... 
Упражнение 11:
Номер 1
Средствами взаимной синхронизации потоков в .NET являются:
Ответ:
 (1) мониторы 
 (2) события 
 (3) мьютексы 
 (4) процедуры 
Номер 2
Мониторы в .NET являются аналогами:
Ответ:
 (1) критических секций в Win32 API 
 (2) секций в Win32 API 
 (3) критических блоков в Win32 API 
 (4) блоков в Win32 API 
Номер 3
Какой базовый класс предоставляет .NET, служащий для описания объекта, который находится в одном из двух состояний: занятом или свободном:
Ответ:
 (1) WaitHandle
 
 (2) SystemHandle
 
 (3) SystemWait
 
 (4) Monitor
 
Упражнение 12:
Номер 1
При синхронизации потоков исключительный доступ единственного потока, вносящего в объект изменения можно назвать так:
Ответ:
 (1) "читатели" 
 (2) "исполнители" 
 (3) "писатель" 
Номер 2
В следующем примере:class SomeData {
[ThreadStatic]
public static double xxx;
...поле класса SomeData.xxx
будет размещено:
Ответ:
 (1) в глобальной для каждого потока памяти 
 (2) в локальной для каждого потока памяти 
 (3) в текущей для каждого потока памяти 
 (4) в изолированнной для каждого потока памяти 
Номер 3
Таймеры в .NET могут быть описаны в следующих пространствах имен:
Ответ:
 (1) System.Timer
 
 (2) Timer.Class
 
 (3) System.Timers
 
 (4) System.Threading