Tags
Language
Tags
May 2025
Su Mo Tu We Th Fr Sa
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Part A - Multithreading & Thread Synchronization - Pthreads

    Posted By: lucky_aut
    Part A - Multithreading & Thread Synchronization - Pthreads

    Part A - Multithreading & Thread Synchronization - Pthreads
    Last updated 6/2023
    Duration: 16h 31m | .MP4 1280x720, 30 fps(r) | AAC, 44100 Hz, 2ch | 6.4 GB
    Genre: eLearning | Language: English

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

    What you'll learn
    MultiThreading Fundamentals
    Concurrency
    Mutual Exclusion Vs Atomocity
    Thread Synchronization Techniques
    Writing Thread Safe Codes
    Mutexes, Semaphores
    Signaling and Wait
    Interview Questions

    Requirements
    C language is MUST
    Linux Operating Systems
    Zeal to learn and excel
    Enthusiasm to write lots of Code
    Description
    Welcome to the Course Series on Multi-Threading - The Master Class Course on Threads.
    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.
    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 No Abstraction.
    We shall discuss several concepts involved in multithreading and demonstrate each concept through a sample program. Several Important Concepts include but are 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, including 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
    Invariants
    Deadlocks
    Concept of Thread Cleanup Handlers
    Prevent Resource Leaking
    Data Structure Corruption - Invariants
    Cancellation causing Deadlocks
    6. Deferred Cancellation
    Understanding Deferred Cancellation
    Implementation
    7. Listener Threads - Responsibility Delegation
    Why Listener threads?
    Designing Listener threads
    Code Changes and Demo
    Cancellation of blocked Threads
    8. Thread Synchronization
    Critical Section
    Mutex Rules
    Mutex Locking
    Mutex Locking - Code Locking
    Mutex Locking - Data Locking
    Mutex based APIs
    Mutexes in Action
    9. Deadlocks
    What are deadlocks and why do they happen?
    Necessary conditions for Deadlock to happen
    Mutex lock Ordering Causing Deadlocks

    10. Condition Variables
    Understanding CV
    CV Vs Mutex
    Wait( ) & Signal( )
    Producer-Consumer Thread Synchronization
    Spurious Wake Ups
    Thread Vs Resource Specific CV
    Broadcasting a CV
    Implement Producer-Consumer Problem
    11. Dining Philosopher Problem
    Problem Description
    Data Structures Setup
    Assignment Program Setup
    Flowchart/Algorithm Discussion
    Final Implementation (Step by Step )
    12. Semaphores
    Introduction
    Semaphores Vs Mutexes
    How Semaphore work
    Strict Alternation Problem
    Semaphore Implementation
    Semaphore Types
    Strong and Weak Semaphores
    Listing Upcoming Advanced Multi-Threading Topics for Sequel Course ( Under Progress )
    = = = = = = = = = = = = = = = = = = = = = =
    1. Pausing and Resuming Threads
    2. Thread Pools
    3. Standard Problems - Reader/Writer Problem
    4. Implementing Thread Barriers
    5. Implementing Thread Monitors
    6. Solving Sync Problems using Monitors
    7. Deadlock Detection and Prevention
    8. Wait Queues
    9. Implement Timers using Threads
    10. How to fork a multi-threaded process
    11. Process Synchronization using Named Semaphores
    Happy Learning.
    Featured Review
    This course is amazing. I'm so glad the instructor decided to offer courses on Udemy. First, it's very rare to find courses on more advanced subject matter. As a software developer, I love learning but am often disappointed that Udemy largely has beginner-oriented material (understandably so). Then there's the CSEPracticals courses. I learned a LOT here. This is some valuable, real world stuff. It's incredibly useful to learn how multi-threading in C is actually applied in real world use cases and to implement these use cases on your own. The instruction was clear, the information valuable. The code samples are plentiful. The instructor is clearly very knowledgeable about networking and so the course examples tend to lean in that direction. I'm very impressed and had a LOT of fun with this course. I can't wait to check out the other ones by CSEPracticals.
    I have just finished this course, and I cannot recommend it more. Its an excellent course on multi-threading and achieves exactly what it intends to from the start. Some features of this course 1) You write a lot of code, and you become more confident in using the pthread library ( along with some other things, I learned how important proper use of assert function can be). 2) Abishekh goes in depth on different synchronization method and shows you have to build them using fundamental tools like mutex and condition variables. This gives you a lot of confidence, and you can build your own in future in case your chosen OS or library does not have those built-in. This in my opinion is the biggest strength of the course. 3) The team of CSE Practicals is very responsive and you can expect to get a response on your queries within a very reasonable time-frame. Ongoing to the course sequel now. Ovais
    Who this course is for:
    Engineering graduates & post-graduates
    Working professionals and Job Seekers
    Free lancers , System Engineers, Developers


    More Info