Seminarinformationen

Seminar - Ziel

In diesem 2-tägigen Seminar "Concurrency mit C++" erlernen Sie die Grundlagen der nebenläufigen Programmierung in modernem C++. Die aktuellen C++-Versionen (ab C++17) bieten erweiterte Funktionen für Multithreading-Anwendungen. Dieser Kurs befähigt Sie dazu, robuste Multithreading-Anwendungen in C++ zu entwickeln und dabei häufige Fehlerquellen zu vermeiden. Neben den neuen Prinzipien und Techniken der Concurrency werden auch Standardmechanismen wie klassische Threads, atomare Operationen und Mutex-Objekte behandelt.

Teilnehmer - Zielgruppe

  • Programmierer

Kurs - Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

Seminardauer

  • 2 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Modern C++ Concurrency Werkzeuge

  • Nebenläufige Ausführung: Klasse std::thread und std::jthread
  • Atomare Operationen: Klassen std::atomic<T>
  • Mutexe und Sperrmechanismen
  • Nochmals nebenläufige Ausführung: Funktion std::async
  • Futures und Promises: Klassen std::future und std::promise
  • Funktionen verpacken: Klasse std::packaged_task
  • Exception Handling bei Threads
  • STL und parallele Algorithmen
  • Die Klassen std::stop_source, std::stop_token und std::stop_callback
  • Verriegelungen und Barrieren: Klassen std::latch und std::barrier
  • Semaphore: Klassen std::binary_semaphore und std::counting_semaphore

Entwurfsmuster

  • Strategisches Locking (Strategized Locking)
  • Reader-Writer Lock (Klassen std::shared_mutex und std::shared_lock)
  • Das Erzeuger-Verbraucher Problem

Fallstudien

  • Threadsicherer Stapel (Threadsafe Stack)
  • Threadsichere Warteschlange (Threadsafe Queue)
  • Realisierung einer parallel_for Wiederholungsschleife
  • Realisierung einer Ereigniswarteschlange (Event Loop )
  • Realisierung eines Thread Pools

Weitere Schulungen zu Thema C++ Programmierung

Plattformübergreifende Entwicklung mit Qt - Einführung

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In diesem 3-tägigen Seminar "Plattformübergreifende Entwicklung mit Qt - Einführung" erlernen Sie die grundlegenden Konzepte und Techniken zur Entwicklung plattformübergreifender Anwendungen mit Qt. Sie machen sich mit der Qt-Entwicklungsumgebung und dem QtCreator ...

C++ Programmierung Grundlagen

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In diesem 5-tägigen Seminar "C++ Programmierung Grundlagen" erwerben Sie die Fähigkeiten, Programme mit der erweiterten Sprache C zu entwickeln. Sie lernen, eigene Problemstellungen selbstständig in funktionierende Programme zu überführen. Die Unterschiede zu C ...

Modernes C++ mit OOP Vertiefung

- u.a. in Paderborn, Düsseldorf, Erfurt, Jena, Nordhausen

In diesem 3-tägigen Seminar "Modernes C++ mit OOP Vertiefung" vertiefen Sie Ihr Wissen über die objektorientierte Programmierung (OOP) in C++. Sie setzen sich intensiv mit pure virtuellen Methoden, Polymorphie und den Erweiterungen der Sprache durch C++11, C++14, ...

Design Patterns in modernem C++ – klassisch & template-basiert

- u.a. in Stuttgart, Paderborn, Düsseldorf, Koblenz, Nordhausen

In diesem 2-tägigen Seminar "Moderne C++ Design Patterns" lernen Sie, wie Design Patterns in modernem C++ effektiv angewendet werden. Diese bewährten Entwurfsmuster haben sich über Jahrzehnte hinweg als wertvoll erwiesen und unterstützen die Entwicklung robuster ...