Microsoft TechDayshttp:// Евгений Марченков Эксперт по технологиям разработки ПО
Microsoft TechDayshttp:// Task Parallel Library (TPL) Parallel LINQ (PLINQ) Coordination Data Structures (CDS)
Microsoft TechDayshttp:// System.Threading.Parallel Для задач общего характера Набор статических методов для классических структур System.Threading.Tasks.Task Основа для Threading.Parallel Предоставляет большую гибкость System.Threading.Tasks.Future Работа с Generic-ами
Обычный цикл: for (int i = 0; i < N; i++) { results[i] = Compute(i); } Распараллеленный цикл Распараллеленный цикл: Parallel.For(0, N, delegate(int i) { results[i] = Compute(i); });
... // do work that A relies on Task t1 = Task.Create(delegate { A(); });... // do work that B relies on Task t2 = Task.Create(delegate { B(); });... // do work that C relies on Task t3 = Task.Create(delegate { C(); }); Task.WaitAll(t1, t2, t3);
Microsoft TechDayshttp:// System.Linq Параллельное выполнение LINQ запросов
Последовательное выполнение: IEnumerable data =...; var q = data.Where(x => p(x)).Orderby(x => k(x)).Select(x => f(x)); foreach (var e in q) a(e); Параллельное выполнение: IEnumerable data =...; var q = data.AsParallel().Where(x => p(x)).Orderby(x => k(x)).Select(x => f(x)); foreach (var e in q) a(e);
Microsoft TechDayshttp:// Дополняет TPL и PLINQ Высокоуровневые конструкции для реализации блокировок
Microsoft TechDayshttp:// Основной сайт: Parallel Computing Developer Center Последняя версия: Parallel Extensions Jun 2008 CTP
Microsoft TechDayshttp:// © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Евгений Марченков