↓ Skip to main content
  1. Home projects/

C++ concurrency and real-time Linux training

··

In 2013 and 2014 I ran three-day C++ courses in Kraków for programmers who had to write concurrent and real-time code. Each day was short examples to run and change, then exercises. Participants cloned the repository on the first morning. The notes began with setting up the virtual machine, the proxy and git, so nobody lost time on the environment.

Threads in C++ covered correct multithreaded code: creating threads, dangling references, joining safely with RAII, thread groups and thread-specific storage, interrupting threads and handling exceptions across them. The exercises included a multithreaded sum and computing π in parallel. Materials.

Real-time C++ on Linux went further. It covered mutexes, producer–consumer and thread-safe queues, and thread priorities with Boost and POSIX. On the Linux side it covered scheduling policies, CPU affinity, measuring context switches and a character device. It also showed how to let an ordinary user run real-time threads. Part 1, part 2.

Related