Featured resource
2026 Tech Forecast
2026 Tech Forecast

1,500+ tech insiders, business leaders, and Pluralsight Authors share their predictions on what’s shifting fastest and how to stay ahead.

Download the forecast

C++ Threaded Programming

Course Summary

The C++ Threaded Programming training course is designed to provide experienced C++ programmers with practical instruction and information so that they can begin writing multi-threaded applications.

The course begins by explaining the history and need for multi-threading. Participants will learn about thread classes and how to create threads. Next, it explores how to work with threads, including joining and detaching threads as well as pausing thread execution. The course concludes with a focus on best practices.

Purpose
Learn how to build safe, high-performing multi-threaded C++ applications
Audience
Experienced C++ programmers with little-to-no background in multi-threaded application development needing to write multi-threaded stand-alone applications
Role
Software Developer
Skill Level
Intermediate
Style
Workshops
Duration
3 Days
Related Technologies
Back-End Development | C++

 

Learning Objectives
  • Write multi-threaded C++ applications
  • Employ alternative mechanisms for achieving thread safety
  • Utilize best practices including immutable objects, exception and error handling, debugging, and what to use when

What You'll Learn:

In the C++ Threaded Programming training course, you'll learn:

Core Concepts

  • Introduction to concurrent programming
  • Need for multithreading, advantages, disadvantages
  • C++'s threading model and threading library

Using Thread Class

  • Thread object
  • Creating threads - function pointers, function objects, lambdas
  • Passing arguments to threads
  • Differentiating between threads: the thread ID
  • Joining and detaching threads
  • Writing asynchronous threads
  • Pausing execution of threads
  • Using wait() and notify()

Using Concurrent Libraries

Using Concurrent Collections

  • Lists
  • Queues

Using Execution Framework

  • Thread pool
  • Using Future
  • Using Fork-Join

Using Synchronizers

  • Semaphores
  • Mutexes
  • Locks

Using Atomics

  • Atomic class

Best Practices

  • Starvation, deadlock, and livelock
  • Immutable objects
  • Exception and Error handling
  • Debugging
  • When to use what
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By clicking submit, you agree to our Privacy Policy and Terms of Use, and consent to receive marketing emails from Pluralsight.