Parallel Computing in .NET
Multicore-Programmierung von .NET 2.0 bis 4.0
- Oktober 2011
- 400 Seiten, Softcover
- ISBN: 978-3-86802-072-4
- E-Book-ISBN: 978-3-86802-259-9
- Preis: 34,90 € / 35,90 € (A) / 46,90 CHF*
Kurzinfo
In der Vergangenheit konnten Anwendungen automatisch von neueren Prozessoren mit höheren Taktfrequenzen profitieren. Diese Gesetzmäßigkeit wird sich in der Zukunft nicht mehr fortsetzen. Die Leistungsfähigkeit moderner Prozessoren steigert sich heute in der Regel durch den gleichzeitigen Einsatz mehrerer CPU-Kerne. Da Anwendungsentwickler nicht mehr darauf bauen können, dass eine sequentiell implementierte Anwendung auf einer neueren CPU-Generation schneller ausgeführt wird, müssen die Möglichkeiten der Multicore-Technologie gezielt genutzt werden. Der Schlüssel dazu lautet "Parallel Computing".
Das Buch Parallel Computing unter .NET liefert das dazu nötige Wissen. Außer den wichtigsten theoretischen Grundlagen werden die Möglichkeiten des .NET Frameworks (inklusive der Neuerungen in .NET 4.0) bei der Programmierung von Multicore-Anwendungen dargestellt. Dabei werden u. a. folgende Themenfelder behandelt:
- Theoretische Konzepte und Gesetzmäßigkeiten
- Domain- und Functional-Decomposition
- Auswirkungen auf das Projektmanagement
- Passive und Aktive Klassen
- Speichermodelle
- Konzepte zur Deadlock-Vermeidung
- Fehlerbehandlung
- Threads unter .NET
- Synchronisierungskonzepte
- ThreadPools
- Task Parallel Library (TPL) und PLINQ
- Neue Debugging-Möglichkeiten in Visual Studio 2010
Die Neuauflage des Buches wurde auf die finale API der .NET Version 4.0 angepasst. Ein zusätzliches Kapitel beschreibt die erweiterten Möglichkeiten der Task Parallel Library, wie z. B. der Realisierung eines eigenen Task Schedulers. Ein weiteres neues Kapitel geht auf das Zusammenspiel zwischen der Task Parallel Library und der neuen Async.-Bibliothek ein.
Zielgruppe
In erster Linie SW-Architekten und SW-Entwickler. Der Leser sollte schon einige Jahre Erfahrung in der normalen synchronen Programmierung / Entwicklung besitzen. Grundlegendes Verständnis für Multithread Anwendungen sollte vorhanden sein.