Paralelní programování v .NET

Mnoho osobních počítačů a pracovních stanic má několik jader procesoru, které umožňují spouštět více vláken současně. Chcete-li využít výhod hardwaru, můžete paralelizovat svůj kód pro distribuci práce mezi více procesorů.

V minulosti paralelizace vyžadovala nízkoúrovňovou manipulaci s vlákny a zámky. Visual Studio a .NET rozšiřují podporu paralelního programování tím, že poskytuje modul runtime, typy knihovny tříd a diagnostické nástroje. Tyto funkce, které byly představeny v .NET Framework 4, zjednodušují paralelní vývoj. V přirozeném idiom můžete napsat efektivní, jemně odstupňovaný a škálovatelný paralelní kód, aniž byste museli pracovat přímo s vlákny nebo s fondem vláken.

Následující obrázek poskytuje podrobný přehled architektury paralelního programování v rozhraní .NET.

Architektura paralelního programování .NET

Technologie Popis
Task Parallel Library (TPL) Poskytuje dokumentaci pro System.Threading.Tasks.Parallel třídu, která obsahuje paralelní verze For a ForEach smyčky, a také pro System.Threading.Tasks.Task třídu, která představuje preferovaný způsob, jak vyjádřit asynchronní operace.
Paralelní LINQ (PLINQ) Paralelní implementace LINQ to Objects, která v mnoha scénářích výrazně zvyšuje výkon.
Datové struktury pro paralelní programování Obsahuje odkazy na dokumentaci pro třídy kolekce bezpečné pro přístup z více vláken, typy zjednodušené synchronizace a typy pro opožděnou inicializaci.
Paralelní Diagnostické nástroje Obsahuje odkazy na dokumentaci pro okna ladicího programu sady Visual Studio pro úlohy a paralelní zásobníky a pro Vizualizátor souběžnosti.
Vlastní dělicí metody pro PLINQ a TPL Popisuje, jak pracují rozdělovače a jak nakonfigurovat výchozí rozdělovače nebo vytvořit nový rozdělovač.
Plánovače úloh Popisuje, jak pracují plánovače a jak lze nakonfigurovat výchozí plánovače.
Výrazy lambda v PLINQ a TPL Poskytuje stručný přehled výrazů lambda v jazyce C# a Visual Basic a ukazuje způsob jejich použití v PLINQ a Task Parallel Library.
Pro další čtení Obsahuje odkazy na Další informace a ukázkové prostředky pro paralelní programování v rozhraní .NET.

Viz také