C++ Thread Safety – Detailed Course Outline

Return to C++ and C Courses page
Copyright © 2010 - 2024, Anderson Software Group, Inc.

Section 1 - POSIX Threads

  • Creating and Starting Threads
  • Thread Attributes
  • Terminating Threads
  • Passing Arguments
  • Joining and Detaching
  • Synchronization
  • Mutexes
  • Locking and Unlocking
  • Releasing Mutexes
  • Critical Sections
  • Condition Variables
  • Waiting and Signaling

Section 2 - C++14 Threads

  • Using str::thread
  • Creating and Joining Threads
  • Thread IDs
  • Working with Exceptions
  • Using std::async()
  • Handling Exceptions
  • Futures
  • Waiting and Polling
  • Promises
  • Packaged Tasks
  • Shared Futures

Section 3 - C++14 Thread Safety

  • Concurrent Data Access
  • Mutexes
  • Lock Guards
  • Recursive Locks
  • Tried and Timed Locks
  • Using std::call_once()
  • Unique Locks
  • Condition Variables
  • Atomic Variables

Section 4 - C++ Enhancements

  • Shared Timed Mutexes
  • Shared Locks
  • Concurrent Queues
  • Pipelines
  • Stream Mutexes
  • Executors and Schedulers
  • Resumable Functions