Город МОСКОВСКИЙ
00:45:18

Parallel LINQ | Параллельное программирование

Аватар
CSharpCooking
Просмотры:
40
Дата загрузки:
03.02.2025 08:50
Длительность:
00:45:18
Категория:
Обучение

Описание

Инфраструктура PLINQ автоматически распараллеливает локальные запросы LINQ. Преимущество PLINQ заключается в простоте использования, т.к. ответственность за выполнение работ по разбиению и объединению результатов перекладывается на .NET Framework.

Для применения PLINQ просто вызовите метод AsParallel на входной последовательности и затем продолжайте запрос LINQ обычным образом. AsParallel представляет собой расширяющий метод в классе System.Linq.ParallelEnumerable. Он помещает входные данные в оболочку последовательности, основанной на ParallelQuery, что вызывает привязку последующих операций запросов LINQ к альтернативному набору расширяющих методов, которые определены в классе ParallelEnumerable. Они предоставляют параллельные реализации для всех стандартных операций запросов. По существу они разбивают входную последовательность на порции, которые выполняются в разных потоках, и объединяют результаты снова в единственную выходную последовательность для дальнейшего потребления.

Инфраструктура PLINQ предназначена только для локальных коллекций: она не работает с LINQ to SQL или Entity Framework, потому что в таких ситуациях LINQ транслируется в код SQL, который затем выполняется на сервере баз данных. Тем не менее PLINQ можно использовать для выполнения дополнительных локальных запросов в результирующих наборах, полученных из запросов к базам данных.

Таймкоды:
00:00 ► Вступление
00:10 ► Компоненты Parallel Framework
05:24 ► Модель выполнения PLINQ
07:42 ► Вычисление простых чисел
13:59 ► Параллельная программа проверки орфографии
22:06 ► Функциональная чистота
22:36 ► Изменение степени параллелизма
23:37 ► Отмена
25:18 ► Оптимизация на выходной стороне
26:46 ► Оптимизация на входной стороне
30:29 ► Влияние на стратегию работы PLINQ
32:29 ► Оптимизация специального агрегирования

Учебные материалы к данному видео доступны по ссылке:
https://csharpcooking.github.io/posts/Parallel-Programming/

#ПараллельноеПрограммирование #ParallelLINQ

Рекомендуемые видео