c++ concurrency

The C++ Concurrency training course will introduce Participants to modern C++ concurrency on the Windows operating system. This workshop uses the Windows operating system as the playground to explore concurrency in C++. This course will prepare them with a deep understanding of threads and synchronization at the OS level, including modern synchronization primitives such as slim reader/writer locks and condition variables. They will learn all about the mighty Windows thread pool API and the Concurrency Runtime. Finally, they will be introduced to some of the shortcomings that plague the C++ Thread Support Library.

COURSE AGENDA

  • Windows Threads
  • Threads and The CRT
  • Events
  • Threads and Events
  • Introduction
  • The Concurrency Landscape
  • Getting Started
  • Critical Sections
  • Mutexes
  • Slim Reader/Writer Locks
  • Slim Reader/Writer Locks and Guards
  • Slim Reader/Writer Locks and Threads
  • The Windows Runtime Library’s CriticalSection
  • The Windows Runtime Library’s SRWLock
  • Auto-Reset Events
  • Finding The Problem
  • Manual-Reset Events
  • Condition Variables
  • Submitting Callbacks
  • Caring for The Environment
  • Pools of Threads
  • Mixing Environments and Pools
  • Units of Work
  • Thread Pool Synchronization
  • Timers and Timeouts
  • Relative Timeouts and Periods
  • Cleanup and Cancellation
  • parallel_for_each
  • parallel_for
  • parallel_invoke and parallel_reduce
  • parallel_transform
  • concurrent_vector
  • concurrent_queue
  • Cooperative Synchronization
  • Tasks
  • Threads
  • Locks and Guards
  • Course Summary