Part B (ADVANCE) Multithreading Design Patterns ( pthreads )
What you'll learn
- MultiThreading Fundamentals
- 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, Wait Queues, Barriers, Monitors, Assembly Line
- 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 unless you have reasonable knowledge regarding how Mutexes and Condition Variables work.
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.
*** However note that the course is highly conceptual and concepts learned can be easily applied to any programming knowledge which supports Multithreading. *** So, Java, C#, Python, Go, Kotlin Programmers do not hesitate to enroll in this course, you can write your own codes based on the concept discussed. This Course is unique and only one of its kind.
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
6. Recursive Mutexes
What are Recursive Mutexes?
When to use over Normal Mutexes?
Implement own Recursive Mutex
7. Read-Write Locks
What are Read-Write locks ?
What is its benefit?
Implement your own Read-Write lock
Implement Reader-Writer Monitor
Solving Bridge Problem using Monitors
Guidelines for writing Monitors
Case Study : Covid Vaccination Drive Implementation using Monitors
*** Completed Till here as of 2 Mar 2022 **
9. Assembly Line Model
10. Deadlock Detection and Prevention
11. Other Related Courses on Multi-Threading
Designing Multi-Threaded TCP Servers
UnScheduled Topics :
11. Bounded Waiting
12. Fifo (Strong) Semaphores
13. Event Pair Synchronization
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.
Who this course is for:
- Engineering graduates & post-graduates
- Working professionals and Job Seekers
- Free lancers , System Engineers, Developers
I have been engaged with coding and software for a decade now. I am a Networking developer at MNC. My rich working experience is backed by graduation from IIT Bombay as an MTech specialist. I am restless for more in-depth knowledge, and always working out the ways to integrate what I know in practical ways. I am always happy to train and encourage people on Udemy – the next-gen education platform.
I will help you to strengthen the networking concepts and fundamentals in a very practical way. I also hones in System Software Development, Linux System Programming and Network Software Development. I love to create courses on unique non-standard topics, and projects. Check my catalogue, you will find couple of project based courses which you can add to your resume.
You’ll complete assignments and work on a project where you’ll use all the theory. I make sure you build a proper understanding and that you’ll get all the questions and doubts answered. Let me take the privilege to guide you and bring useful additions to your resume !
Hi, Myself Shivani Nigam, PhD in Marketing. I expertise in researching the consumer behavior in the context of purchasing the products online. I take the responsibility of marketing the online content (Udemy courses) on this platform.
I also ensure the courses are delivered with perfect Audio/Video Quality by technical Instructors, and ensures that students queries and doubts are addressed by technical instructors with priority.
Hi, I am Ekta, a facility Manager for Csepracticals. I am responsible for the maintenance and upkeep of an organization’s infrastructure, ensuring that they meet legal requirements and health and safety standards.
I ensure that the facility is operating as it should on a daily basis by completing daily inspections and conducting proactive and reactive maintenance.