Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

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. Students 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 Training | C++

 

Productivity 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 when to use what

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 filling out this form and clicking submit, you acknowledge our privacy policy.