Course Description

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. In this course, students are introduced to multithreading and concurrency topics starting from the basics and using C++.

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


Prior programming experience in C++ is required


2 Days | 4 Nights

Applies Towards the Following Certificates

Enroll Now - Select a section to enroll in
Section Title
Multithreaded Programming Using C++
M, W
Time (Central Time)
5:00PM to 8:00PM
Oct 31, 2022 to Nov 09, 2022
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.