T1312

C++ Threads Programming

Writing thread based programs is one of the most difficult programming tasks you can do. Actually, the general advice is to completely avoid putting in bugs in the code. If that advice turns out to be unrealistic, the next best thing you can do is program according to a set of well-known design patterns. In this course, we focus on the latter approach.

This course has some concepts in common with the course “Threads Programming using C”, but uses C++ and C++11 to reach much farther into the land of concurrent programming.

Audience

C++ programmers that need to understand how to design and implement concurrent (aka thread based) applications.

Prior knowledge

Must be fluent in C++ programming.

You Will Learn

Understand in depth the difference between threads and processes

Briefly about the new standard C++11

The POSIX Threads API and how to wrap it in C++

How to create and synchronize threads

The C++11 support for threads

Understand how to handle the classical concurrency problems such as critical sections, race conditions, deadlocks and starvation

How to create processes and how to create shared memory segments between processes