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.
SWD425 is the First course in the C++ Programming advanced Certificate. To complete the certificate students will also enroll in SEC520. Click on each course link for more details and to add to cart.
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++.Prerequisites
- Prior programming experience in C++ is required.
Duration
12 hours | 2 Days or 4 Nights*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.