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.
Související témata
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. |