Mittendrin.

Zurück

Flurfunk der eXperts.

Hier erfahren Sie mehr über eXperts, Technologien und das wahre Leben in der SDX.

Task Parallel Library (TPL)

28.10.201507:00 Uhr , Alexander Kabisch

Wenn man

        • das Einfrieren der Oberfläche verhindern
        • rechenintensive Aufgaben auf mehre CPUs verteilen
        • im Hintergrund auf Events warten

will, kommt man um parallele Verarbeitung nicht herum.

Seit jeher kann man für diese Aufgaben Threads oder besser einen Threadpool verwenden. Nachteilig muss man sich, vor allem bei Threads, um deren Verwaltung kümmern. Mit .NET 4.5 gewann durch async and await die TPL (Task Parallel Library) große Beachtung und Bedeutung. Mit Task wurde die Basis aber bereits in .NET 4.0 gelegt.
Bei beiden Konzepten werden zwar Aufgaben parallel abgearbeitet, aber Tasks bieten eine höheren Abstraktionslevel und mehr Kontrolle.

  • Cancellation von Tasks
  • Load Balancing von Tasks durch Threadunabhängigkeit
  • bessere Performance/Skalierbarkeit von Tasks durch Threadunabhängigkeit

Die Klasse Parallel perfektioniert das Konzept der Tasks noch, indem sie intern die Aufgaben portioniert bzw. partitioniert. Mit nur einem Aufruf nutzt man die Ressourcen ohne viel Aufwand bestens aus.

Parallel.For(

    0, 

    3, 

    i => Console.WriteLine(i));

Parallel.Invoke(

    () => Console.WriteLine(1),

    () => Console.WriteLine(2),

    () => Console.WriteLine(3));

Parallel.ForEach(

    new int[] { 1, 2, 3 },

    i => Console.WriteLine(i));

0 Kommentare
Dein Kommentar wartet auf Freischaltung.

Artikel kommentieren

Zurück

Tag Cloud


Kontakt aufnehmen


Anrufen

Gerne beantworten wir Ihre Fragen in einem persönlichen Gespräch!


Kontakt aufnehmen

Schreiben Sie uns eine E-Mail mit Ihren Fragen und Kommentaren!