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?