TPL Teil 5 – Exceptions

Ein wichtiger Aspekt bei parallelen Abläufen ist die Fehlerbehandlung. Da Vorgänge gleichzeitig ausgeführt werden, können auch Ausnahmen zeitgleich auftreten. Diese sollten bei einer produktiven Anwendung sauber und zuverlässig abgefangen werden. Die TPL bietet hier einige Verbesserungen aber auch einige Fallstricke gegenüber der klassischen Multithreading-Programmierung.

Continue reading “TPL Teil 5 – Exceptions”

TPL Teil 4 – Die Klasse Parallel

Neben der Klasse Task, die im zweiten Teil vorgestellt wurde, bietet die Klasse Parallel mit die interessantesten Neuerungen in der Task Parallel Library (TPL). Sowohl das Parallel.For-Konstrukt als auch das Parallel.ForEach-Konstrukt stellt eine konkurrenzlos einfache Möglichkeit bereit, um aufwändige Berechnungen zu parallelisieren und damit deutlich zu beschleunigen.

Continue reading “TPL Teil 4 – Die Klasse Parallel”

TPL Teil 2 – Die Klasse Task

Bisher stand bei der Programmierung von multithreading Applikationen die Klasse Thread im Mittelpunkt. Mit .NET 4 wurde die Task Parallel Library (TPL) eingeführt, die mit der Klasse Task ein neues Konzept zur Verfügung stellt. Diese ist zwar auf den ersten Blick vergleichbar mit der Thread-Klasse, bringt aber einige Neuerungen und Verbesserungen mit sich.

Continue reading “TPL Teil 2 – Die Klasse Task”

TPL Teil 1 – Einführung

Seit der ersten Version von .NET lassen sich mit der Klasse System.Threading.Thread multithreading-fähige Anwendungen erstellen. Allerdings stammt diese Klasse aus einer Zeit, in der Single-Core-CPUs der Stand der Dinge waren. Um Multi-Core-CPUs effektiv nutzen zu können, bedarf es neuer Werkzeuge. Mit dem .NET Framework 4.0 wurde die Task Parallel Library (TPL) eingeführt. Diese API vereinfacht vieles, doch ist auch ein Umdenken erforderlich.

Continue reading “TPL Teil 1 – Einführung”