Вопрос

Я только что смотрел последний > Channel 9 vid о будущих параллельных расширениях .NET. Как бы вы использовали это в веб-приложении? Я специально думаю об использовании параллельных расширений Linq против базы данных SQL. Имеет ли это смысл использовать для ускорения уровня доступа к данным в многопользовательском серверном приложении? Каковы проблемы (кроме очевидных проблем безопасности потоков при использовании статических типов коллекций)?

Это было полезно?

Решение

Мне кажется, что этот абзац, извлеченный из этой статьи , объясняет использование PLINQ к SQL:

  

LINQ-to-SQL и LINQ-to-Entities   запросы будут по-прежнему выполняться   соответствующие базы данных и запрос   поставщики, поэтому PLINQ не предлагает   способ распараллелить эти запросы. Если   Вы хотите обработать результаты   эти запросы в памяти, в том числе   присоединяясь к выходу многих   гетерогенные запросы, то PLINQ может   быть весьма полезным.

Что касается использования PLINQ в веб-приложении, то если запрос требует много вычислений в памяти, ведь PLINQ может быть полезен (например, если у вас есть несколько источников данных, которые вы хотите запросить вместе), я не вижу проблем в использовании этого.

Другие советы

Я считаю, что Parallel LINQ в первую очередь предназначен для работы с коллекциями в памяти. Как вы ожидали использовать его в своей базе данных?

Учитывая, что веб-приложения, естественно, довольно параллельны (с точки зрения отдельных запросов, выполняемых в отдельных потоках и т. д.), я подозреваю, что PLINQ на самом деле к нему не относится.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top