Schulung Multithreading mit C++
Zielgruppe: Softwareentwickler für Unix, Linux, Mac und/oder Windows
Niveau: Aufbauwissen
Typische Dauer: Ein Tag (empfohlene Dauer kann abweichend je nach Vorkenntnissen)
Notwendige Vorkenntnisse: C++-Basiswissen
Ziel: Souveräner Umgang mit der Mulithreading Schnittstelle von C++
C++-Standard: beliebiger C++-Standard nach Ihrer Wahl
# Warum "Parallelprogrammierung"?
Vor- und Nachteile
Performancesteigerung
Reaktivität / UI-Entkopplung
# Grundbegriffe
Tasks und Threas
Thread-safe
Reentrant
Synchronisation
Deadlocks
# Hardware
Mehrkernprozessoren
Mehrere Prozessoren
NUMA
# Amdahl’s Gesetz
Thread-Erzeugung
Granularität von Arbeitseinheiten
# Multithreading mit C++
Das C++-Speichermodell
Atomare Datentypen
Threads
Gemeinsame Daten
Sichere Initialisieren der Daten
Thread lokale Daten
Bedingungsvariablen
Tasks