Your "One-Stop-Shop" for your next Embedded Project

Stacks Image 301500

Course: C++ Multithreading

Who Should Attend?

Software developers, software architects.


A good working knowledge of C++98 (including templates). Knowledge of C++11 features is beneficial but not a requirement for this course. Please refer to the course "Modern C++" for the other features of the C++11/C++14/C++17 language standards.


2 days ( optionally this course can be extended by one day for practical exercises )

Course Description:

Since the introduction of the C++11 language standard, multithreading and multicore applications can be developed in a platform-independent manner directly in C++. This training shows the C++ multithreading features introduced by C++11 and C++14 and explains how they can be used. Due to the rapid growth of the number of multicore systems this training is valuable especially for software developers who want to speedup their applications by exploiting the power of multiple cores.

Course Outline

  • Multithreading Basics
  • Threading Models
  • Singlecore and Multicore Systems
  • Concurrency and Parallel ExecutionHistory
Thread Management
  • Thread Creation
  • Parameter Passing
  • Thread Identification
  • Background Threads
  • Thread Control
  • Thread Termination
Time Management
  • Absolute / Relative Times
  • Timeouts
Threadsafe use of resources
  • Threadsafe Initialisation
  • Thread Local Storage
  • Atomic Memory Access
  • Mutexes
  • Locks
  • Deadlocks
  • Condition Variables
  • Non-Blocking Resource Access
Asynchronous Operatios
  • Futures
  • Promises
  • Packaged Tasks
  • async
Practical Exercises (optional)

On request this training course can be arranged also as customer internal training.
Contact us with your requirments for course type, number of participants and location.