Главная /
Параллельное программирование с использованием инструментов и технологий Intel, Проверка знаний /
Рассмотрим задачу использования кольцевого буфера (задача "поставщик-потребитель"). Функции AddItemToBuffer и RemoveItemFromBuffer модифицируют структуру данных, разделяемую поставщиком и потребителем, и не используют синхронизацию. Предположим, что прогр
Рассмотрим задачу использования кольцевого буфера (задача "поставщик-потребитель"). Функции AddItemToBuffer и RemoveItemFromBuffer модифицируют структуру данных, разделяемую поставщиком и потребителем, и не используют синхронизацию. Предположим, что программа может выполняться как на однопроцессорных, так и на многопроцессорных системах, и одновременно могут выполняться несколько потоков-поставщиков и потоков-потребителей. Укажите, является ли решение корректным (всегда работает), или (2) некорректным (никогда не работает), или (3) опасным (в одних случаях работает, в других – нет).
int Bufs = N; // Буфер содержит N записейM = unlocked;Full = 0;() {
while(1){
M.Lock();
if( Bufs != 0 ){
Bufs --;
M.Unlock();
break;
}
M.Unlock();
}
AddItemToBuffer();
}() {
while(1){
M.Lock();
if( Bufs != N ){
Bufs ++;
M.Unlock();
break;
}
M.Unlock();
}
RemoveItemFromBuffer();
}
вопрос
Правильный ответ:
приведенное решение корректно
приведенное решение некорректно
приведенное решение опасно
Сложность вопроса
53
Сложность курса: Параллельное программирование с использованием инструментов и технологий Intel, Проверка знаний
78
Оценить вопрос
Комментарии:
Аноним
Я провалил сессию, почему я не увидел этот сайт с ответами с тестами intuit до зачёта
10 мар 2017
Аноним
Я завалил зачёт, какого чёрта я не увидел данный сайт с решениями по тестам интуит до этого
19 ноя 2016
Другие ответы на вопросы из темы программирование интуит.
- # Верно ли утверждение: если в тесновложенном гнезде циклов все итерации каждого цикла гнезда независимы, то перестановка циклов в таком гнезде будет эквивалентным преобразованием?
- # Укажите положения, верные для решений задачи взаимного исключения, основанного на использовании специальных команд ЦП (Test&Set, Swap,…).
- # Отметьте верные утверждения:
- # В синхронном режиме передачи завершение функции отправки сообщения происходит:
- # Вы написали программу на языке C. Эта программа работает корректно на подготовленных тестовых данных, но скорость работы вас не устраивает. Какими инструментами, входящими в комплект поставки Parallel Studio, вы воспользуетесь для увеличения скорости работы вашей программы?