Paralelní programování v .NET: Průvodce dokumentací

Mnoho osobních počítačů a pracovních stanic má více jader procesoru, které umožňují souběžné spouštění více vláken. Pokud chcete využít výhod hardwaru, můžete paralelizovat kód, který distribuuje práci napříč několika procesory.

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

Následující obrázek obsahuje základní přehled architektury paralelního programování v .NET.

.NET Parallel Programming Architecture

Technologie Popis
Task Parallel Library (TPL) Poskytuje dokumentaci pro System.Threading.Tasks.Parallel třídu, která zahrnuje paralelní verze For a ForEach smyčky a také pro System.Threading.Tasks.Task třídu, která představuje upřednostňovaný způsob vyjádření asynchronních operací.
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 Visual Studio okna ladicího programu pro úlohy a paralelní zásobníky a vizualizér souběžnosti.
Vlastní oddíly 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 .NET.

Viz také