.NET Multithread-/Multicore-Programmierung


Zielgruppe:

Software-Entwickler, Software-Architekten, Projektleiter

Voraussetzungen:

Kenntnis der Programmiersprache C#. (C++ auf Anfrage)

Dauer:

3 Tage

Kursziel:

Sie sind in der Lage, auf .NET basierende Applikationen bestehend aus verschiedenen Prozessen und/oder Application Domains, sowie unabhängig laufenden Threads zu entwickeln. Sie kennen die vielfältigen Möglichkeiten der Thread-Synchronisation und wissen, worauf es bei einem guten Multithread-/Multicore Systementwurf ankommt.


Inhalt:

Prozesse

  • Prozesseigenschaften
  • Kreieren und Starten von Prozessen
  • Prüfen des Prozesszustandes
  • Beenden von Prozessen
  • Warten auf das Ende eines Prozesses

Threads

  • Erzeugen von Threads
  • Threads mit Parameterübergabe
  • Vordergrund-/Hintergrund-Threads
  • Unterbrechen/Beenden von Threads
  • Warten auf die Beendigung von Threads
  • Prioritätenmodell und Scheduling
  • ThreadPool
  • Asynchrones Programmiermodell (APM)

Application Domains

  • Application Domains und Prozesse
  • Application Domain und Threads

Synchronisation

  • Monitor
  • Locks, Reader-/Writer-Locks
  • Attributgesteuerte Synchronisation
  • Atomare Operationen, Interlocked
  • WaitHandle, Mutexe, Semaphore
  • Prozessübergreifende Synchronisation
  • Deadlocks
  • Exception Handling

Ereignissignalisierung

  • Monitor, Condition Variable
  • Manual-/AutoResetEvents

Applikations-Design

  • Entwurfskriterien für Prozesse, Threads und AppDomains
  • Entwurfskriterien für Multicoresysteme
  • Skalierbarkeit, Performanceoptimierungen
  • Ausblick auf TPL

Nicht genau was Sie suchen?