C++ Threaded Programming

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. Hands-on exercises and demos will provide instruction on how to work with threads, including joining and detaching thread as well as pausing thread execution. The course also explores using concurrent libraries and collections, using Execution Framework, Synchronizers and Atomics. The course concludes with a focus on best practices.

Course Summary

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.
Skill Level: 
Learning Style: 

Workshops are instructor-led lab-intensives focused on the practical application of technologies through the facilitation of a project-related lab. Workshops are just the opposite of Seminars. They deliver the highest level of knowledge transfer of any format. Think wide (breadth) and deep (depth).

Workshop help
Duration: 
3 Days
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

Get Custom Training Quote

We'll work with you to design a custom C++ Threaded Programming training program that meets your specific needs. A 100% guaranteed plan that works for you, your team, and your budget.

Learn More

Chat with one of our Program Managers from our Boulder, Colorado office to discuss various training options.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients
Need help finding the right learning solution?   Call us: 877-629-5631