Parallell programmering i .NET: En guide till dokumentationen

Många persondatorer och arbetsstationer har flera CPU-kärnor som gör att flera trådar kan köras samtidigt. Om du vill dra nytta av maskinvaran kan du parallellisera koden för att distribuera arbete över flera processorer.

Tidigare krävde parallellisering lågnivåmanipulering av trådar och lås. Visual Studio och .NET förbättrar stödet för parallell programmering genom att tillhandahålla en körning, klassbibliotekstyper och diagnostikverktyg. Dessa funktioner, som introducerades i .NET Framework 4, förenklar parallell utveckling. Du kan skriva effektiv, detaljerad och skalbar parallell kod i ett naturligt formspråk utan att behöva arbeta direkt med trådar eller trådpoolen.

Följande bild ger en översikt över den parallella programmeringsarkitekturen i .NET.

.NET Parallel Programming Architecture

Teknik Beskrivning
Aktivitetsparallellt bibliotek (TPL) Innehåller dokumentation för System.Threading.Tasks.Parallel klassen, som innehåller parallella versioner av For och ForEach loopar, och även för System.Threading.Tasks.Task klassen, som representerar det bästa sättet att uttrycka asynkrona åtgärder.
Parallell LINQ (PLINQ) En parallell implementering av LINQ to Objects som avsevärt förbättrar prestanda i många scenarier.
Datastrukturer för parallell programmering Innehåller länkar till dokumentation för trådsäkra samlingsklasser, enkla synkroniseringstyper och typer för lat initiering.
Parallella diagnostikverktyg Innehåller länkar till dokumentation för Visual Studio felsökningsfönster för uppgifter och parallella staplar och för Concurrency Visualizer.
Anpassade partitioner för PLINQ och TPL Beskriver hur partitionerare fungerar och hur du konfigurerar standardpartitionerare eller skapar en ny partitionerare.
Schemaläggare Beskriver hur schemaläggare fungerar och hur standardschemaläggare kan konfigureras.
Lambda-uttryck i PLINQ och TPL Ger en kort översikt över lambda-uttryck i C# och Visual Basic och visar hur de används i PLINQ och det parallella aktivitetsbiblioteket.
För ytterligare läsning Innehåller länkar till ytterligare information och exempelresurser för parallell programmering i .NET.

Se även