Part B (ADV) Multithreading Design Patterns in C/C++

Linux POSIX Threads ( Pthreads ), thread Synchronization, Operating System Concepts, C/C++ programming with Projects

This is a sequel Course to Master Class-Multithreading & Thread Synchronization – C/C++, and this course should be done only when the prequel course has been completed.

What you’ll learn

  • MultiThreading Fundamentals.
  • Concurrency.
  • Thread Synchronization Techniques.
  • Writing Thread Safe Codes.
  • Thread standard problems – Reader-Writer Problem.
  • Detecting and preventing Dead-locks.
  • Advanced Multithreading Concepts.
  • Monitors, Barriers, WaitQueues, Assembly line.
  • Thread Pools.

Course Content

  • What this Course is all about ? –> 1 lecture • 4min.
  • Thread Management –> 2 lectures • 13min.
  • Thread Pausing and Resuming –> 4 lectures • 24min.
  • Go through Appendix A : Glthreads – Glue Based LinkedList –> 1 lecture • 1min.
  • Thread Pools/Work Crew Thread Model –> 11 lectures • 1hr 8min.
  • Thread Barriers –> 6 lectures • 41min.
  • Wait Queues –> 5 lectures • 46min.
  • Appendix A : Glthreads – Glue Based LinkedList –> 10 lectures • 46min.

Part B (ADV) Multithreading Design Patterns in C/C++

Requirements

  • Finish Prequel Course.
  • C language is MUST.
  • Zeal to learn and excel.
  • Enthusiasm to write lots of Code.

This is a sequel Course to Master Class-Multithreading & Thread Synchronization – C/C++, and this course should be done only when the prequel course has been completed.

In this course, we shall be Implementing Advanced Thread Synchronization Data Structures and Multithreading based software patterns, with some advanced thread synchronization-based problem-solving. This course uses POSIX threads, hence it is Linux only course.  We shall be building upon the knowledge we gathered from the prequel course.

 

The level of this course is Intermediate to Advanced.

 

Table of Contents

====================

1.  Thread Management

2. Pausing and Resuming Threads

3. Thread Pools/Work Crew Model

4. Thread Barriers

5. Wait-Queue Model

 

<< Delivered till here as on 24 Apr 2021 >>

Guys, Last week (16 may ) I had lost my mother to Covid. She battled bravely for 18 days in the hospital, but could not win against the disease.

I am so devasted at this point that I need some time to recompose myself and back to business. Life has to go on.

I understand the content of this course is partial and incomplete, I will continue adding material to this course whenever I would create new content.

Thanks for understanding, this is a very tough time going for me…

– Abhishek ( Instructor )

 

 

6. Event Pair Synchronization

7. Thread Monitors

  • Solving Reader Writer Problem
  • Solving Bridge Problem
  • Strict Alternation using Monitor
  • Producer-Consumer Problem

8. Assembly Line Scheduling

9. Building Map-Reduce Framework

10. Building Timers using Threads

11. Designing Multi-Threaded TCP Server

12. Deadlock Detection and Prevention

13. Fifo (Strong) Semaphores

14. Inter-Process Synchronization using Semaphores

15. Forking a Multi-Threaded Program

 

Though We use the C language to demonstrate the concepts, concepts hold good for any programming language. This course is equally valuable for C++ programmers. Other language programmers may also find this course useful as we explain Multithreading concepts close to the ground zero levels with No Abstraction.

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.

Get Tutorial