.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?

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.