Книга: C# 4.0: полное руководство
Два подхода к параллельному программированию
Два подхода к параллельному программированию
Применяя TPL, параллелизм в программу можно ввести двумя основными способами. Первый из них называется параллелизмом данных. При таком подходе одна операция над совокупностью данных разбивается на два параллельно выполняемых потока или больше, в каждом из которых обрабатывается часть данных. Так, если изменяется каждый элемент массива, то, применяя параллелизм данных, можно организовать параллельную обработку разных областей массива в двух или больше потоках. Нетрудно догадаться, что такие параллельно выполняющиеся действия могут привести к значительному ускорению обработки данных по сравнению с последовательным подходом. Несмотря на то что параллелизм данных был всегда возможен и с помощью класса Thread
, построение масштабируемых решений средствами этого класса требовало немало усилий и времени. Это положение изменилось с появлением библиотеки TPL, с помощью которой масштабируемый параллелизм данных без особого труда вводится в программу.
Второй способ ввода параллелизм называется параллелизмом задач. При таком подходе две операции или больше выполняются параллельно. Следовательно, параллелизм задач представляет собой разновидность параллелизма, который достигался в прошлом средствами класса Thread
. А к преимуществам, которые сулит применение TPL, относится простота применения и возможность автоматически масштабировать исполнение кода на несколько процессоров.
- Два подхода к параллельному программированию
- Класс Task
- Применение методов ожидания
- Применение класса TaskFactory для запуска задачи
- Применение лямбда-выражения в качестве задачи
- Создание продолжения задачи
- Возврат значения из задачи
- Отмена задачи и обработка исключения AggregateException
- Другие средства организации задач
- Класс Parallel
- Исследование возможностей PLINQ
- Перемещать файлы удобнее, если запустить два экземпляра Проводника и разместить их окна бок о бок. Можно ли это делать а...
- Два вида задач руководителя
- Чтобы установить Service Pack 2, надо ли предварительно устанавливать Service Pack 1?
- Можно ли сравнить два файла?
- Как склеить два MP3-файла?
- Мотивация персонала в рамках подхода «управление по целям»
- Два метода рекламы. И жизни
- Два вида статичной графики
- Сила системного подхода
- Приложение Критика логистического подхода
- Старательное осуществление неправильного подхода
- 11.4.1. Учебный пример: два способа написания программы калькулятора