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

Параллельное программирование с помощью языка C#

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

Каким образом можно распараллелить следующий LINQ-запрос?
  var q = from n in numbers   where n % 2 > 0    select n;  

(Отметьте один правильный вариант ответа.)

Варианты ответа
добавить вызов метода AsParallel() для источника данных(Верный ответ)
использовать параметр ParallelOptions при выполнении запроса в методе ToList() или ToArray()
модификация запроса не требуется. Обработка запросов в C# 4.0 автоматически распараллеливается.
добавить служебные слова as parallel в конец запроса
Похожие вопросы
Каким образом можно распараллелить следующий LINQ-запрос?
  var q = data.Select(item => f(item)).Where(o => p(o));  
Для параллельного выполнения следующего LINQ-запроса необходимо:
 var q = Enumerable.Range(1, 100000).Select( i => f(i)).Where(d => d% 11);  
Какие LINQ-операторы снижают эффективность распараллеливания:
Какой из перечисленных LINQ-операторов обладает наименьшей эффективностью распараллеливания:
Задача t2.3 ожидает завершения задачи t2.2, находящейся в локальной очереди рабочего потока. Стратегия inlined execution приведет
В родительской задаче tParent запускаются поочередно вложенные задачи tChild1 и tChild2. При каких условиях вложенная задача tChild1 может успеть завершиться раньше, чем задача tChild2?
При выполнении операции добавления Add для объекта типа BlockedCollection<T>, содержащего максимальное число элементов и без вызова CompleteAdding, происходит:
Следующий запрос выполняется
  var q = ParallelEnumerable.Range(1, N).Where(n=>true).Take(10).ToArray(); 
Родительская задача ParentTask завершается без исключений, во вложенной (не дочерней) задаче innerTask возникает исключение. Статусы задач:
Для осуществления заимствования рабочим потоком Thread1 задачи из локальной очереди потока Thread2 необходимо соблюдение следующих условий: