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.
- Introduction to MultiThreading and Concurrency
- What is multithreading?
- Example of multithreading
- Why use multithreading?
- • Multithreading Basics
- Program, processes, and threads
- Context Switching
- Thread Pools
- Thread Safety
- Issues involved with Multiple Threads
- Race conditions
- • 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
- Threadsafe Use of Resources
- Threadsafe Initialization
- Thread Local Storage
- Atomic Memory Access
- Condition Variables
- Non-Blocking Resource Access
- Asynchronous Operations
- Packaged Tasks
Learner OutcomesIn this course, students are introduced to multithreading and concurrency topics starting from the basics and using C++.
- Prior programming experience in C++ is required.
Duration12 hours | 2 Days or 4 Nights
Applies Towards the Following Certificates
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.