C++ Multithreading - Präsenz-Training
Seit der Einführung von C++11, dem 2011 veröffentlichten Standard von C++, können Multithreading- und Multicore-Anwendungen auch plattformunabhängig direkt in C++ entwickelt werden.
Dieses Training zeigt, welche Möglichkeiten die C++-Multithreadbibliothek bietet und wie diese angewendet werden können.
Aufgrund der zunehmenden Verbreitung von Multicore-Systemen ist dieses Training insbesondere für Entwickler interessant, die ihre Applikationen parallelisieren wollen, um von dem Leistungszuwachs zusätzlicher Cores profitieren zu können.
Softwareentwickler, Softwarearchitekten
Gute Kenntnisse der Programmiersprache C++. Die Kenntnis anderer Spracheigenschaften seit Einführung von C++11, wie z.B. Move-Semantik oder Lambda-Funktionen, sind zwar hilfreich, aber keine Voraussetzung für diesen Kurs.
Einführung
- Multithreading-Grundlagen
- Threading-Modelle
- Single- und Multicoresysteme
- Nebenläufigkeit und Parallelität
Thread-Management
- Erzeugen von Threads
- Parameterübergabe
- Thread-Identifikation
- Hintergrund-Threads
- Thread-Ablaufsteuerung
- Beenden von Threads
Zeitmanagement
- Absolute/relative Zeiten
- Timeouts
Sichere Nutzung von Ressourcen
- Sichere Initialisierung
- Threadlokaler Speicher
- Atomarer Speicherzugriff
- Mutexe
- Locks
- Deadlocks
- Condition Variable
- Nichtblockierender Zugriff
Asynchrone Operationen (Tasks)
- Futures
- Promise
- Packaged Task
- Async