Windows Multithread-Programmierung mit C


Zielgruppe:

Entwickler, Systemdesigner und Projektleiter, die für die Erstellung von C-Anwendungen für Windows zuständig sind und dabei die Möglichkeiten der Multiprozess- bzw. Multithread-Programmierung nutzen wollen.

Vorkenntnisse:

Programmiererfahrung in C.

Dauer:

2 Tage

Kursziel:

Der Kursteilnehmer ist in der Lage, Applikationen für Windows-Systeme zu entwickeln und dabei die Vorteile des Prozessmodells und des Multithreadings der Win32-Programmierschnittstelle zu nutzen. Er kennt die sich dabei ergebenden Synchronisationsprobleme und weiß, wie sie zu lösen sind.


Inhalt:

Einführung

  • Windows Systemarchitektur
  • Die Win32 Programmierschnittstelle
  • Allgemeines Prozessmodell
  • Speicherverwaltung und virtuelle Adressierung
  • Systemobjekte und ihre Verwaltung

Prozesse und Threads

  • Erzeugung von Prozessen
  • Festlegung der Prozesseigenschaften
  • Beenden von Prozessen

Threads

  • CPU-Zuteilung (Scheduling)
  • Verdrängung (Preemption)
  • Zeitscheibenverfahren (Time-Slicing)
  • Prioritäten und Priority-Boosts
  • Erzeugung von Threads
  • Threads und die C Laufzeitbibliothek
  • Beenden von Threads

Synchronisation

  • Die Win32 Synchronisationsobjekte
  • Warten mit WaitForSingleObject/ WaitForMultipleObjects
  • Events (Manual-/AutoResetEvents)
  • Mutexe
  • Critical Sections
  • Semaphore
  • Deadlocks und ihre Vermeidung
  • Unterbrechbarkeit von
  • C-Statements
  • Interlocked-Funktionen

Debugtechniken

  • Debuggen von dynamisch erzeugten Prozessen
  • Thread-Identifikation in Bibliotheksfunktionen
  • Erkennen verborgener Synchronisationsprobleme

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.