Zum Hauptinhalt springen

C++ Multithreading

Zielgruppe

Softwareentwickler, die die Möglichkeiten der C++-Bibliothek nutzen wollen, um Multithread-Applikationen zu entwickeln. Aufgrund der stetig zunehmenden Verbreitung von Multicore-Systemen ist dieses Training insbesondere für Entwickler geeignet, die ihre Applikationen parallelisieren wollen, um von dem Leistungszuwachs zusätzlicher Prozessorkerne profitieren zu können.

Vorkenntnisse

Gute Kenntnisse der Programmiersprache C++98 (einschließlich Templates). Kenntnisse der (sonstigen) C++11-Spracheigenschaften sind vorteilhaft, aber keine Voraussetzung für den Kurs. Die anderen Spracheigenschaften von C++11, C++14, C++17 und C++20 werden im Kurs „Modernes C++“ behandelt.

Dauer

3 Tage (mit praktischen Übungen)

Kursziel

Seit der C++11-Standard verfügbar ist, können Multithread-Applikationen auch plattformunabhängig direkt in C++ entwickelt werden. Dieser Kurs zeigt, welche Multithread-Eigenschaften die C++-Standardbibliothek seit Einführung der Standards C++11, C++14 and C++17 zur Verfügung stellt und wie diese angewendet werden können.

Die im Standard vorgesehenen Multithread-Funktionen sind üblicherweise nicht in der C++-Bibliothek selbst realisiert, sondern werden auf ein zugrunde liegendes Betriebssystem abgebildet. Für die richtige Anwendung benötigt man deshalb ein gutes Allgemeinverständnis der Threading-Modelle von Betriebssystemen, sowie deren Einflüsse auf das Verhalten einer Applikation. Deshalb geht der Kurs gezielt auf diese Thematik ein und bietet somit auch Entwicklern ohne Multithread-Erfahrung einen idealen Einstieg in die Multithread-Technologie.


Inhalt

Einführung

  • Multithreading-Grundlagen
  • Threading-Modelle
  • Single- und Multicoresysteme
  • Nebenläufigkeit und Parallelität

Threadmanagement

  • 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

  • Futures
  • Promise
  • Packaged Task
  • async

Praktische Übungen

Setzten Sie das Gelernte direkt in die Praxis um.

Der Kursinhalt entspricht nicht ganz dem, was Sie suchen?


Das sagen Kunden:

"Didaktisch gut aufbereitet, absolut sicher in der Ausführung!"
"Hervorragende Kursleitung!"
"Angenehm ruhig, kompetent, offen für Fragen."
"Sehr gut fand ich die Erklärung der Hintergründe."
"Mit 'Design Patterns für Embedded Systeme' hat Herr Nieratschker ein sehr lehrreiches, interaktives und spannendes Training entwickelt. Durch die aufeinander aufbauenden Rätselfragen fühlt sich der Kurs an, wie eine gedankliche Schnitzeljagd: der Da Vinci Code für Programmierer."
"Noch nie einen so perfekt strukturierten Kurs besucht!!! SKT++."
"Gute bildliche Erklärungen, viel Geduld bei praktischen Anwendungen."
"Ein Muss für jeden objektorientierten Programmierer!"
"Sehr guter Ansatz zum Herleiten der Patterns."
"Alle Teilnehmer wurden 'abgeholt', da der Wissensstand sehr unterschiedlich ist."
"Hat mich richtig vorwärts gebracht."
"Sehr gute, praxisnahe Beispiele."
"Der Dozent beherrscht es, die Kursteilnehmer mitzunehmen."
"Komplexe Themen super verständlich hergeleitet."
"Knowledge of the instructor far above the trained theme!"
"The thing I liked most was the instructor's teaching skills!"
"The things I liked most were the teacher's clarity both in presentation and spoken English."
"Examples from real world, not like e.g. wikipedia."
"We were 'forced' to think ... Our attention was up all the time, which was great."
"What I liked in particular was the deep knowledge of the instructor and the sense of humor."
"What I liked in particular was the way we discovered patterns."
"Didaktisch gut aufbereitet, absolut sicher in der Ausführung!"
"Hervorragende Kursleitung!"
"Angenehm ruhig, kompetent, offen für Fragen."
"Sehr gut fand ich die Erklärung der Hintergründe."
"Mit 'Design Patterns für Embedded Systeme' hat Herr Nieratschker ein sehr lehrreiches, interaktives und spannendes Training entwickelt. Durch die aufeinander aufbauenden Rätselfragen fühlt sich der Kurs an, wie eine gedankliche Schnitzeljagd: der Da Vinci Code für Programmierer."
"Noch nie einen so perfekt strukturierten Kurs besucht!!! SKT++."
"Gute bildliche Erklärungen, viel Geduld bei praktischen Anwendungen."
"Ein Muss für jeden objektorientierten Programmierer!"
"Sehr guter Ansatz zum Herleiten der Patterns."
"Alle Teilnehmer wurden 'abgeholt', da der Wissensstand sehr unterschiedlich ist."
"Hat mich richtig vorwärts gebracht."
"Sehr gute, praxisnahe Beispiele."
"Der Dozent beherrscht es, die Kursteilnehmer mitzunehmen."
"Komplexe Themen super verständlich hergeleitet."
"Knowledge of the instructor far above the trained theme!"
"The thing I liked most was the instructor's teaching skills!"
"The things I liked most were the teacher's clarity both in presentation and spoken English."
"Examples from real world, not like e.g. wikipedia."
"We were 'forced' to think ... Our attention was up all the time, which was great."
"What I liked in particular was the deep knowledge of the instructor and the sense of humor."
"What I liked in particular was the way we discovered patterns."

SKT Nieratschker · Karl Nieratschker · Joseph-Maria-Lutz-Str. 7 · D-85293 Reichertshausen · Tel. +49 (0) 8441 490210 · office@skt-nieratschker.com