Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort zur 5. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Weitere .NET-Datentypen
7 Weitere Möglichkeiten von C#
8 Auflistungsklassen (Collections)
9 Fehlerbehandlung und Debugging
10 LINQ to Objects
11 Multithreading und die Task Parallel Library (TPL)
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 Einige wichtige .NET-Klassen
15 Projektmanagement und Visual Studio 2010
16 XML
17 WPF – Die Grundlagen
18 WPF-Containerelemente
19 WPF-Steuerelemente
20 Konzepte der WPF
21 Datenbindung
22 2D-Grafik
23 ADO.NET – verbindungsorientierte Objekte
24 ADO.NET – Das Command-Objekt
25 ADO.NET – Der SqlDataAdapter
26 ADO.NET – Daten im lokalen Speicher
27 ADO.NET – Aktualisieren der Datenbank
28 Stark typisierte DataSets
29 LINQ to SQL
30 Weitergabe von Anwendungen
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual C# 2010 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2010

Visual C# 2010
geb., mit DVD
1295 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1552-7
Pfeil 11 Multithreading und die Task Parallel Library (TPL)
Pfeil 11.1 Überblick
Pfeil 11.2 Multithreading mit der Klasse »Thread«
Pfeil 11.2.1 Einführung in das Multithreading
Pfeil 11.2.2 Threadzustände und Prioritäten
Pfeil 11.2.3 Zusammenspiel mehrerer Threads
Pfeil 11.2.4 Die Entwicklung einer einfachen Multithreading-Anwendung
Pfeil 11.2.5 Die Klasse »Thread«
Pfeil 11.2.6 Threadpools nutzen
Pfeil 11.2.7 Synchronisation von Threads
Pfeil 11.2.8 Der Monitor zur Synchronisation
Pfeil 11.2.9 Das Synchronisationsobjekt »Mutex«
Pfeil 11.2.10 Das Attribut »MethodImpl«
Pfeil 11.2.11 Grundlagen asynchroner Methodenaufrufe
Pfeil 11.2.12 Asynchroner Methodenaufruf
Pfeil 11.2.13 Asynchroner Aufruf mit Rückgabewerten
Pfeil 11.2.14 Eine Klasse mit asynchronen Methodenaufrufen
Pfeil 11.3 Die TPL (Task Parallel Library)
Pfeil 11.3.1 Allgemeines zur Parallelisierung mit der TPL
Pfeil 11.3.2 Die Klasse »Parallel«
Pfeil 11.3.3 Die Klasse »Task«

11 Multithreading und die Task Parallel Library (TPL)

Es gibt viele Operationen, die eine längere Zeit für die Ausführung benötigen. Ohne besondere Maßnahme wird die weitere Ausführung einer Anwendung in einem solchen Fall solange blockiert, bis die langdauernde Operation beendet ist. Abhilfe schafft das Multithreading oder seit .NET 4.0 die Nutzung der zur Verfügung stehenden Prozessorkerne mit der TPL (Task Parallel Library). Beide Themen stehen im Mittelpunkt dieses Kapitels.


Galileo Computing - Zum Seitenanfang

11.1 Überblick topZur vorigen Überschrift

Seit den Anfängen von .NET lassen sich mit mehr oder weniger viel Aufwand multithreading-fähige Anwendungen programmieren. Die Grundlage war die Klasse Thread aus dem Namespace System.Threading. Mit Thread ließen sich bei Bedarf neue Threads ins Leben rufen, Threadprioritäten setzen und auch komplexe Synchronisationsmechanismen realisieren.

Aber die Entwicklung der Hardware begann aus technischen Gründen einen Weg einzuschlagen, dem die Klasse Thread nicht mehr gewachsen war: Multi-Core-Prozessoren überfordern diese Klasse. Während in all den Jahren zuvor die Taktfrequenz immer weiter nach oben getrieben worden war, sahen sich die Hardware-Entwicklungsfirmen bei einer Taktfrequenz von ca. 3 GHz einer natürlichen Grenze gegenüber: Prozessoren mit noch höherer Taktfrequenz ließen sich nicht mehr ausreichend kühlen. Um dennoch leistungsverbesserte Prozessoren anbieten zu können, wurden die Multi-Core-Prozessoren entwickelt. Zuerst waren es Double-Core-Prozessoren, schnell folgte die nächste Welle mit Quad-Core-Prozessoren. Ein Ende der Entwicklung ist derzeit nicht abzusehen.

Mit der Klasse Thread Anwendungen zu entwickeln, die die Möglichkeiten der Multi-Core-Prozessoren ausreizen, ist nur schwer möglich, denn die Klasse Thread wurde zu einer Zeit entwickelt, als es darum ging, mehrere Ausführungsstränge quasi-gleichzeitig auf einer CPU laufen zu lassen.

Dem hardwaretechnischem Fortschritt wird in .NET nunmehr mit der Einführung der TPL (Task Parallel Library) Rechnung getragen. TPL ist eine neue API, die uns in die Lage versetzt, Mehrkernprozessoren in unseren Anwendungen zu nutzen, ohne dass dabei die Komplexität des Programmcodes zunimmt. Ganz im Gegenteil, es ist sogar einfacher, die neue TPL zu programmieren als die »alte« Klasse Thread. Nichtsdestotrotz kommen Ihnen die Kenntnisse der klassischen Multithreading-Programmierung beim Einsatz von TPL zugute. Nicht nur aus diesem Grund habe ich in diesem Buch auf die grundlegende Programmierung mehrerer Threads nicht verzichtet.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2010

Visual C# 2010
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: C/C++






 C/C++


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2010
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de