Параллельные вычисления и многопоточное программирование - ответы
Количество вопросов - 156
Какие утверждения справедливы для метода Wait класса SemaphoreSlim?
Что происходит, когда в многопоточном приложении один поток пытается непосредственно обращаться к элементам управления визуального интерфейса, созданным в другом потоке?
Цикл может допускать распараллеливание, если:
Какие высказывания истинны для цикла Parallel.ForEach:
Какой из операторов может встречаться только в итерации обычного цикла for, но не Parallel.For?
Каково назначение метода ContinueWith класса Task?
Что происходит с потоком, когда вызывается метод Interrupt для прерывания работы потока?
Если задан граф зависимостей, то легко считаются следующие характеристики:
Что понимается под понятием "бизнес-логика" в данном контексте?
Что называется свопингом в стратегии управления памятью операционной системой:
Построение многопоточного приложения, в котором интерфейс приложения выполняется в одном потоке, а бизнес-логика – в другом, необходимо для того, чтобы:
Критическая секция может быть закрыта оператором lock(Locker), где объект Locker играет роль замка на входе в секцию. Каковы утверждения справедливы для объекта Locker?
Что такое блокировка в параллельных вычислениях?
Какой сложности в идеале можно добиться на суперкомпьютере для задачи умножения квадратных матриц размерности N * N?
При выполнении программы встретилось объявление: Thread thread_one; Что происходит в результате объявления?
Какие утверждения справедливы относительно метода Invoke, вызываемого при работе с элементами управления?
Что такое мультипрограммный режим работы?
Сложность шагового алгоритма пузырьковой сортировки задается формулой
. Справедливость каких утверждений следует из этого?
Укажите истинные высказывания:
Укажите высказывания, истинные при работе с пулом потоков:
Какие утверждения справедливы для шагового алгоритма пузырьковой сортировки?
Сколько методов, включающих блокировку, имеется у класса ReaderWriterLockSlim?
Укажите истинные высказывания:
Какие утверждения справедливы по отношению к критическим секциям:
Как узнать при выполнении Parallel.For номер минимальной итерации, на которой происходит прерывание цикла, инициируемое выполнением оператора (метода) Break?
Какие методы есть в классе Thread, позволяющие потоку прервать выполнение дочерних потоков:
Укажите истинные высказывания, связанные с вычислением суммы сходящегося ряда:
Сколько классов компьютеров в классификации Флинна:
Если полагать, что единственным общим ресурсом является оперативная память, то какие проблемы характерны для параллельных вычислений, выполняемых на системах с распределенной памятью (кластеров):
Укажите корректную формулу, связывающую эффективность и ускорение:
Если полагать, что единственным общим ресурсом является оперативная память, то какие проблемы параллельных вычислений не связаны с блокировкой:
Законы Амдаля и Густавсона-Барсиса:
Укажите истинные высказывания:
Если задан граф зависимостей, то время выполнения критического пути задает:
По какой причине поток может перейти в состояние "ожидания":
Укажите истинные высказывания, связанные с управлением памятью:
Потоко – безопасный модуль это:
Реентерабельный модуль это:
Что понимается под чисткой цикла?
Рассмотрим цикл for(int i =0; i <N; i++ ) { x = F(…); } с одним оператором присваивания в теле цикла. Какие утверждения являются справедливыми в зависимости от вида функции F?
Алгоритм вычисления определенного интеграла:
Сколько способов существует для параллельного вычисления числа ПИ:
Какие утверждения справедливы для алгоритма пузырьковой сортировки?
Какие утверждения справедливы для алгоритма сортировки "чет – нечет"?
Сколько конструкторов у класса Thread?
В момент создания потока ему нужно передать:
При выполнении программы был создан поток thread_one. Что происходит в результате выполнения оператора thread_one.Start;?
Что происходит с потоком, когда вызывается метод Abort для прерывания работы потока?
В параллельном алгоритме пузырьковой сортировки элементы массива потоков создаются при выполнении следующего оператора: threads[i] = new Thread(sorts[i].BubbleSortPart);. Какие утверждения являются справедливыми?
При переходе от потоко - опасного класса Account к потоко - безопасному классу AccountSafe какое решение следует выбрать, следуя хорошему стилю программирования?
Какие утверждения справедливы по отношению к критической секции?
Какие утверждения справедливы для ситуации клинча?
Что понимается под мягкой блокировкой?
Какие высказывания являются истинными по отношению к методу Pulse(obj) из класса Monitor?
Какие утверждения справедливы для классической задачи "Обедающие философы"?
Что не может делать программист при работе с пулом потоков?
Какие утверждения справедливы относительно метода QueueUserWorkItem?
Укажите недостатки работы с пулом потоков:
Сколько конструкторов у класса Task?
Укажите истинные высказывания:
Определить, являются ли итерации цикла независимыми, может:
Каких методов нет у класса Parallel?
Каких методов нет у класса Parallel?
Отметьте высказывания, истинные по отношению к методу, реализующему тело цикла Parallel.For:
Отметьте высказывания, истинные по отношению к семантике двух методов Parallel.For и Parallel.ForEach:
При выполнении методов Parallel.For и Parallel.ForEach на одной или нескольких итерациях могут возникать исключительные ситуации. Правда ли, что:
Какие утверждения справедливы относительно понятия интерфейс?
Работа с какими классами ведется в интерфейсной части приложения?
Под наблюдаемыми параметрами понимаются:
Какие утверждения справедливы по отношению к методам Invoke, BeginInvoke, EndInvoke:
Рассмотрим ситуацию, когда управление бизнес-логикой приложения осуществляется в визуальном интерфейсе, работающем в потоке, отличном от потока, в котором работает бизнес-логика. Какой недостаток можно отметить в организации взаимодействия управляющего и управляемого процесса, основанного на взаимных ссылках?
Как связать метод, определяющий задачу, с потоком из пула?
Для вычисления суммы элементов массива можно использовать:
Укажите достоинства работы с пулом потоков:
Какие методы имеет класс Task?
Укажите высказывания, истинные для параллельного алгоритма вычисления определенного интеграла:
Какие утверждения являются справедливыми в ситуации, когда управление бизнес-логикой приложения осуществляется в визуальном интерфейсе, работающем в потоке, отличном от потока, в котором работает бизнес-логика?
Под параллельными вычислениями в данном курсе понимается параллельное выполнение:
Метод For класса Parallel является:
Что можно передать в качестве фактического аргумента конструктору класса Thread с одним аргументом?
Какие утверждения справедливы для класса SemaphoreSlim?
Каково назначение оператора lock?
Какие утверждения правильно описывают семантику выполнения метода Parallel.For:
Укажите истинные высказывания:
Какой из операторов может встречаться только в итерации цикла Parallel.For, но не в обычном for?
В момент создания объекта класса Thread конструктору класса передается метод. Что можно сказать о сигнатуре этого метода?
Укажите высказывания, истинные для процессов ОС:
Разбиение исходной задачи на подзадачи меньшей размерности:
Объект класса ThreadingPool – это:
Какие утверждения справедливы по отношению к интерфейсу, задаваемому двумя типами проектов – консольным приложением и приложением Windows.Forms:
Какое соотношение имеет место для временных характеристик?
Какие методы есть в классе Thread, позволяющие потоку приостановить выполнение:
Какие высказывания являются истинными по отношению к методу Wait из класса Monitor?
Что понимается под гонкой данных (гонкой условий):
Укажите истинные высказывания:
Какие переходы из одного состояния в другое возможны для потоков?
Под управляемыми параметрами понимаются:
Если полагать, что единственным общим ресурсом является оперативная память, то какие проблемы характерны для параллельных вычислений, выполняемых на системах с общей памятью:
Если полагать, что единственным общим ресурсом является оперативная память, то что понимается под гонкой данных?
Векторные процессоры согласно классификации Флинна относятся к классу:
Из закона Амдаля следует:
Отметьте высказывания, истинные для потоков и процессов:
Укажите высказывания, истинные для алгоритма сортировки "чет-нечет":
Сколько классов содержится в пространстве имен Threading?
Что понимается под общими ресурсами потоков, участвующими в гонке:
Укажите высказывания, истинные для класса ReaderWriterLockSlim:
Класс ThreadingPool - это:
Какие утверждения справедливы относительно параметров метода QueueUserWorkItem?
Какие утверждения справедливы относительно классов Task и Task<TResult>:
Укажите истинные высказывания:
Что происходит при замене обычного цикла for на его аналог Parallel.For?
Какие методы есть у класса Parallel?
Отметьте высказывания, истинные по отношению к методу Parallel.For:
Какие высказывания справедливы по отношению к методу Parallel.Invoke?
При разработке бизнес-логики приложения какой тип проекта, скорее всего, следует предпочесть?
Какие утверждения справедливы относительно метода Invoke, вызываемого при работе с элементами управления?
Какими свойствами обладают объекты класса Thread?
Какая информация содержится в контексте потока?
Укажите истинные высказывания, связанные с управлением памятью:
Графические процессоры согласно классификации Флинна относятся к классу:
Какие переходы из одного состояния в другое невозможны для потоков?
Приложение представляет модель взаимодействия управляющего и управляемого процессов. Это взаимодействие может быть основано на механизме:
Какие утверждения справедливы по отношению к классу Monitor?
Для того, чтобы корректно работать с элементами управления, созданными в другом потоке, можно использовать следующие методы:
Какие утверждения справедливы относительно блокировки, осуществляемой оператором lock?
Операционная система создает процесс для каждого:
Что такое суперкомпьютер?
Укажите высказывания, истинные для потоков:
Рассмотрим цикл for(int i =0; i <N; i++ ) { x[i] = expr; } с одним оператором присваивания в теле цикла. Цикл допускает распараллеливание, если выражение expr представимо в виде:
Цикл не допускает распараллеливания, если:
Какой формулой задается сложность шагового алгоритма пузырьковой сортировки?
Программисту необходимо, чтобы в потоке выполнялся метод, имеющий три аргумента. Конструктору потока передать такой метод невозможно. Какие решения позволяют справиться с возникшей ситуацией?
Что происходит, когда поток завершает выполнение метода?
Какие свойства имеет класс Task?
Какие из следующих высказываний справедливы по отношению к распараллеливанию цикла while:
Какие утверждения справедливы по отношению исключений, выбрасываемых на итерациях циклов Parallel.For и Parallel.ForEach:
В многопоточном приложении элементы управления визуального графического интерфейса, созданные в одном потоке:
Укажите истинные высказывания, связанные с вычислением суммы элементов массива:
Как справиться с ситуацией клинча?
При распараллеливании цикла:
Каким отношением связаны классы Task и Task<TResult>?
Последовательный алгоритм умножения матриц C = A * B содержит три цикла – цикл по строкам матрицы A, по столбцам матрицы В, внутренний цикл, вычисляющий скалярное произведение строки на столбец. У каких циклов итерации независимы?
При выполнении программы встретилось корректное объявление: Thread thread_one = new Thread(My_method); Что происходит в результате объявления?
Что может делать программист при работе с пулом потоков?
TPL (Task Parallel Library) – библиотека параллельных задач – это библиотека:
При распараллеливании цикла сложно:
Какие утверждения являются истинными по отношению к пулу потоков?
Укажите истинные высказывания:
Работая в цикле, Поток_1 выполняет код: N = rnd.Next(0,2), а Поток_2 выполняет параллельно код: if(N > 0) Sum = 1000 else Sum = 0; (Переменные объявлены надлежащим образом, блокировки не предусмотрены) Какие результаты гарантируются?
Какие утверждения справедливы по отношению к взаимодействию двух частей приложения – интерфейса и бизнес-логики?
Параллельные версии алгоритмов пузырьковой сортировки и быстрой сортировки, представленные в этой главе, реализованы по-разному. Какие утверждения являются истинными?