Course Description

Short Course | 12 hours | 1.2 CEUs | $1,395

Multithreading is a program execution technique that allows for concurrent (simultaneous) execution of two or more parts of a program (threads) for maximum utilization of a CPU. Multi-threaded applications are applications that have two or more threads that run concurrently. Therefore, it is also known as concurrency. With the rise of multi-core machines, multithreading and concurrency concepts are essential skills for Software Engineers.

Course Outline

  •  Introduction to MultiThreading and Concurrency
    •  What is multithreading?
    •  Example of multithreading
    •  Why use multithreading?
  • • Multithreading Basics
    • Program, processes, and threads
    • Concurrency
    • Context Switching
    • Thread Pools
    •  Locing
    • Mutex
    • Thread Safety
  •  Issues involved with Multiple Threads
    • Deadlock
    • Race conditions
    • Starvation
    •  LiveLock
  • • How to avoid issues with multiple threads
    • How to avoid deadlocks?
    • How to avoid race conditions?
    • How to avoid starvation?
    • How to avoid livelocks?
  • Introduction to Multithreading with C++
    • Multithreading with C++
    • Threading Models
    • Singlecore and Multicore Systems
    • Concurrency and Parallel Execution History
  • Thread Management
    • Thread Creation
    • Parameter Passing
    • Thread Identification
    • Background Threads
    • Thread Control 
    • Thread Termination
  • • Time Management
    • Absolute/Relative Times
    • Timeouts
  •  Threadsafe Use of Resources
    • Threadsafe Initialization
    • Thread Local Storage
    • Atomic Memory Access
    • Mutexes
    • Locks
    • Deadlocks
    • Condition Variables
    • Non-Blocking Resource Access
  • Asynchronous Operations
    • Futures
    •  Promises
    • Packaged Tasks
    • Async

Learner Outcomes

In this course, students are introduced to multithreading and concurrency topics starting from the basics and using C++.


  • Prior programming experience in C++ is required.


12 hours | 2 Days or 4 Nights
Enroll Now - Select a section to enroll in
Section Title
Multithreaded Programming Using C++
T, Th
Time (Central Time)
5:30PM to 8:30PM
Jul 16, 2024 to Jul 25, 2024
Schedule and Location
# of Course Hours
Delivery Option
Course Fee(s)
Rate non-credit $1,395.00
Potential Discount(s)
Required fields are indicated by .
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.