Master Class – Multithreading & Thread Synchronization in C Free Tutorial Download
Linux POSIX Threads ( Pthreads ), thread Synchronization, Operating System Concepts, C/C++ programming with Projects
What you’ll learn
Mutual Exclusion Vs Atomocity
Thread Synchronization Techniques
Writing Thread Safe Codes
Thread standard problems – Reader-Writer Problem
Mutexes, Semaphores, Monitors
Signaling and Wait
Detecting and preventing locks
Debugging multithreaded Programs
C language is MUST
Linux Operating Systems
Zeal to learn and excel
Enthusiasm to write lots of Code
Welcome to the Course Series on Multi-Threading – The Master Class Course on Threads.
[ ** STILL ADDING CONTENT TO IT, LAST UPDATED 09 JAN 2020 ** ]
This course is for those who want to develop fundamental concepts on Multi-threading and related concepts. In this course, we shall be going to cover Multi-threading concepts based on Pthreads (POSIX threads) on the Linux platform.
We shall discuss several concepts involved in multithreading and demonstrate each concept through a sample program. Several Important Concepts include but not limited to – Deadlocks, Mutual Exclusion, Atomicity, Thread Synchronization, Race Conditions, Thread forking, and many more.
In the Next Installment of this course, we shall extend our knowledge of Multi-threading to Advance Concepts which also include mini-projects on Multithreading and Thread Synchronization.
At each stage of this Course series, you shall be writing a lot of multi-threaded Codes. So be ready to Master the Multi-threading. Along the journey, we shall cover several interview-favorite topics and Questions to prepare you alongside for interviews.
Best of luck!
Table Of Contents:
= = = ======= = = =
1. Understanding Threads
- Thread Creation & Termination
- Race condition on Thread Creation
- Passing Argument to Thread Function
- Stack Memory Mgmt for Multi-threaded Programs
- Thread Scheduling
2. Understanding Concurrency and Parallelism
- Singlularism Vs Concurrency Vs Parallelism
- Concurrent Process Design – 2 Examples
- Threads as Light Weighted Process
- Overlapping and Non-Overlapping Work
3. Joinable and Detached Threads
- Joinable Vs Detached Threads
- How to Join a thread
- Whom to Join?
- Sample – Map-Reduce Program
4. Inter Thread Communication
- Understanding Callbacks and Function Pointers
- Best way to implement ITC
- Implementing Notification Chains
- A Publisher Subscriber Model
- How to Subscribe/UnSubscribe
- How to send Notification to Subscribers
5. Asynchronous Thread Cancellation
- Thread Cancellation
- Asynchronous and Deferred Thread Cancellation
- Problem with Async Thread Cancellation
- Resource Leaking
- Concept of Thread Cleanup Handlers
- Prevent Resource Leaking
- Data Structure Corruption – Invariants
- Cancellation causing Deadlocks
6. Deferred Cancellation
- Understanding Deferred Cancellation
7. Listener Threads – Responsibility Delegation
- Why Listener threads?
- Designing Listener threads
- Code Changes and Demo
- Cancellation of blocked Threads