Multi Threaded C Applications

Offensive Security Practitioner, Cybersecurity Expert, and Security Engineer

About this course
Learn the how to write asynchronous code using the POSIX API, with pthreads. Turn any application into a multithreaded application with only a few function calls. I will teach you mastery of the POSIX threads API within the C Programming language. The course starts with a breakdown of how threads work, and how threads work together, and all the features of C asynchronous threaded programming. At the end of the course, we take our project where we built an employee database system, and convert it from a single packet synchronous finite state machine to an asynchronous machine with a thread pool.
Lifetime Access
What you'll learn
Introduction to Threading
Course Introduction, Understanding Processes vs. Threads
pthread Basics
Creating and Terminating Threads, Joining and Detaching Threads, Passing Arguments to Threads
Synchronization and Locks
Understanding Thread Synchronization, Mutexes, Semaphores, Spin Locks, Mutex Exercise
Advanced pthread Concepts
Thread Specific Data (TSD), Managing Thread Attributes
Designing Multithreaded Applications
Deadlocks, Performance Considerations
Course Project
Introduction, Implementing the Thread Pool Structure, Implementing the Working Threads, Threadpool Graceful Shutdown, Testing the Threadpool