База ответов ИНТУИТ

Параллельные вычисления и многопоточное программирование

<<- Назад к вопросам

Рассмотрим цикл for(int i =0; i <N; i++ ) { x[i] = expr; } с одним оператором присваивания в теле цикла. Цикл допускает распараллеливание, если выражение expr представимо в виде:

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
F(x[i])(Верный ответ)
F(i, i + 1)(Верный ответ)
F(i, x[i])(Верный ответ)
F(i)(Верный ответ)
F(x[i], x[i +1])
Похожие вопросы
Рассмотрим цикл for(int i =0; i <N; i++ ) { x = F(…); } с одним оператором присваивания в теле цикла. Какие утверждения являются справедливыми в зависимости от вида функции F?
Последовательный алгоритм умножения матриц C = A * B содержит три цикла – цикл по строкам матрицы A, по столбцам матрицы В, внутренний цикл, вычисляющий скалярное произведение строки на столбец. У каких циклов итерации независимы?
Критическая секция может быть закрыта оператором lock(Locker), где объект Locker играет роль замка на входе в секцию. Каковы утверждения справедливы для объекта Locker?
Работая в цикле, Поток_1 выполняет код: N = rnd.Next(0,2), а Поток_2 выполняет параллельно код: if(N > 0) Sum = 1000 else Sum = 0; (Переменные объявлены надлежащим образом, блокировки не предусмотрены) Какие результаты гарантируются?
Как узнать при выполнении Parallel.For номер минимальной итерации, на которой происходит прерывание цикла, инициируемое выполнением оператора (метода) Break?
Какой из операторов может встречаться только в итерации обычного цикла for, но не Parallel.For?
Какой из операторов может встречаться только в итерации цикла Parallel.For, но не в обычном for?
Что происходит при замене обычного цикла for на его аналог Parallel.For?
Какие утверждения справедливы по отношению к методам Invoke, BeginInvoke, EndInvoke:
Цикл может допускать распараллеливание, если: