vollmann engineering gmbh english - deutsch

 
   engineering  training  presentations  publications  blog   
home
sitemap
C++ Concurrency  

 
 
 

design
c++
embedded c++
embedded linux
 
 
 
                  
training
software design
c++
c++ advanced
c++11/14
performance c++
c++ concurrency
embedded c++
embedded systems

  • "How can I employ all the cores of my CPU?"
  • "How does C++11/14 help me with concurrency and parallelism?"
  • "Which synchronization mechanisms exist in C++?"
  • "How can I avoid race conditions?"
  • "How does the STL work with concurrency and in parallel?"
C++ Concurrency, 2 days (with exercises)

In many modern systems several threads run at once. These must be synchronized to avoid bad surprises. Also, modern processors often have more than one core and it would be a waste not to use them. But synchronization errors typically are very hard to debug.
 
C++11/14 provide mechanisms to ease the handling and synchronization of several threads. Modern C++ also provides mechanisms to use multiple cores safely without explicit synchronization.

Seminar Goal
In C++ Concurrency you'll learn when and how to synchronize parallel and concurrent threads. You know the mechanisms of C++11/14 and beyond to exploit the multiple cores in your systems. You apply the tools that the standard libraries and others provide to run several threads easily and clearly.

Audience
C++ programmers, library developers, system designers

Prerequisites
You know the details of C++11 (as presented in the seminars C++ Advanced or C++ 11/14) and used them for some time.

Contents
  • Concurrency vs. parallelism
  • Futures and async
  • Processes and threads
  • Synchronization problems
  • The memory model and its implications
  • Synchronization mechanisms
  • Mutex and semaphor
  • C++11/C++14 mechanisms
  • Beyond C++14
  • Atomics and their problems
  • Design patterns for concurrency and parallism
  • Libraries: existing and future building blocks

Method
C++ Concurrency is a hands-on seminar. A substantial part of the programme consists of programming exercises. You'll learn with real-word examples how to use and design concurrency and parallelism in your systems and synchronize them correctly and efficiently.

Related Seminars
Preliminary Seminars:
C++ Advanced
The base for this seminar
C++ 11/14
Update to C++11/14
Seminars on Similar Topics:
C++ Embedded
Parallel threads of control in embedded systems
OO Design Patterns
Standard solutions for parallelism and concurrency
OO Design
How to create complex parallel systems
Parallel C++  
  home sitemap engineering consulting coaching training presentations publications blog contact
copyright © 2003-2015 vollmann engineering gmbh