Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS AWS Certified Developer - Associate CompTIA Security+
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2021-01-18 08:58:23
30-Day Money-Back Guarantee

This course includes:

  • 7 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
IT & Software Operating Systems Multithreading

Master Class - Multithreading & Thread Synchronization in C

Linux POSIX Threads ( Pthreads ), thread Synchronization, Operating System Concepts, C/C++ programming with Projects
Hot & New
Rating: 4.2 out of 54.2 (14 ratings)
187 students
Created by Abhishek CSEPracticals, Shiwani Nigam, Ekta Ekta
Last updated 1/2021
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • MultiThreading Fundamentals
  • Concurrency
  • 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
  • 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.


  [ ** STILL ADDING CONTENT TO IT, LAST UPDATED 18 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

    • 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                       << Delivered till here as on 18 Jan 2020


Listing Upcoming Topics ( Under Progress )

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

2. Thread Pools

Then We enter into Thread Synchronization Topics :

3. Mutexes and their internal implementation

4, Condition Variables

5. Lock Size

6. Deadlocks

7. Standard Problems - Reader/Writer Problem, Dining Philosopher problem etc

8. Implementing Master-Slave Relationship between threads

9. Implementing Thread Scheduler

10. Implementing Thread Monitors

11. Semaphore based Synchronization

12. Deadlock Detection and Prevention

13. Asynchronous Programming using Threads (Say Good bye to Locking)

14. Implement Timers using Threads

15. How to fork a multi-threaded process


So you can see, some really amazing stuff is yet to come.


Depending on the content size, I may split the content into two parts - Course A & Course B. Don't worry, whoever enrolls in part A will be given free entry in Part-B.

Happy Learning.

Who this course is for:

  • Engineering graduates & post-graduates
  • Working professionals and Job Seekers
  • Free lancers , System Engineers, Developers

Course content

12 sections • 82 lectures • 6h 48m total length

  • Preview03:25
  • Code Access for this Course
    00:58
  • Preview09:03
  • Hello World Ex - Part 2
    03:50
  • Race Condition on Thread Creation
    04:19
  • Thread Termination
    04:09
  • main( ) thread termination
    02:08
  • Resource Sharing
    05:46
  • Preview05:12
  • Thread Scheduling
    05:39

  • Understanding Concurrency (Analogy)
    04:41
  • Understanding Parallelism (Analogy)
    02:28
  • Understanding Singularism (Analogy)
    04:07
  • Analogy <--> Multithreading World (Mapping)
    02:03
  • Multithreading Environment
    12:30
  • Why do we need Concurrency ?
    05:05
  • Concurrent Process Design - Example 1
    05:14
  • Concurrent Process Design - Example 2
    03:33
  • Why Threads are called Light Weighted Processes ?
    04:03
  • Overlapping and Non-Overlapping Work
    03:02
  • Preview02:29
  • Probable Interview Questions
    6 questions

  • Joinable Threads
    06:12
  • Detached Threads
    02:31
  • Joinable Threads in Action
    16:21
  • Whom to Join ?
    03:49
  • Implementing Map-Reduce Algorithm - Problem Statement
    08:09
  • When to Create Joinable/Detached Thread ?
    01:48
  • Practice Assignment
    2 questions

  • Preview03:57
  • Transfer of Computation
    05:14
  • Transfer of Computation - Example
    05:36
  • Opening Gates to Publisher Subscriber Model
    01:30

  • Vacations ! Dont miss it !
    01:21

  • Notification Chains - Introduction
    02:58
  • NFC - Pictorial Representation
    07:28
  • NFC - Data Structure
    04:32
  • NFC Implementation
    07:55
  • Assignment - NFC Some Enhancement
    6 questions
  • Real World - Problem Statement On NFC - Publisher Subscriber Model
    04:04
  • Setting up a Data Source
    04:25
  • Preview07:16
  • Setting up the Subscriber
    08:34
  • Subscription and Notification
    02:03
  • Mandatory Assignment
    4 questions
  • Implementing Subscription
    07:23
  • Implementing Notification
    05:27
  • Final Demo !
    02:54

  • Why Thread Cancellation ?
    02:27
  • Understanding Thread Cancellation - Asynchronous Mode
    05:30
  • Asynchronous Thread Cancellation - Demo Base Program
    04:51
  • Asynchronous Cancellation - Code Changes
    06:48
  • Thread Resource Leaking Problem
    04:07
  • Data Structure Corruption - Invariants
    05:23
  • Thread Cancellation Causing Deadlocks
    02:09
  • Handling Resource Leaking on Thread Cancellation
    06:25
  • Code Changes and Demo
    04:40
  • Cleanup handlers Usage
    07:39

  • Understanding Deferred Cancellation
    05:04
  • Deferred Cancellation Implementation
    06:29

  • Listener Threads - Responsibility Delegation
    07:12
  • Preparation of Implementation
    03:36
  • Network APIs and Demo
    03:46
  • Multi - Listener Application Implementation
    03:46
  • Listener Thread - Quick Code Walk
    06:31

  • Thread Synchronization
    07:51
  • Critical Section
    04:20
  • Mutexes
    02:57
  • How Mutex Works ?
    08:39
  • Preview04:06
  • Mutex Locking - Code Locking
    04:02
  • Mutex Locking - Data Locking
    13:32
  • Mutex Posix APIs
    01:35
  • Mutexes in Action - Problem Statement
    09:42
  • Mutexes in Action - Deploying Mutual Exclusion
    03:35
  • Assignment on Mutexes & CS
    2 questions

Instructors

Abhishek CSEPracticals
I build Networks !
Abhishek CSEPracticals
  • 4.5 Instructor Rating
  • 1,576 Reviews
  • 14,493 Students
  • 14 Courses

I have been engaged with coding and software for more than 8 years. 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. You’ll complete assignments and work on a project where you’ll use all the theory provided by me. I make sure you build a proper understanding and that you’ll get all the questions explained. Let me take the privilege to guide you and bring useful additions to your resume!

Shiwani Nigam
Digital Marketing Executive
Shiwani Nigam
  • 4.4 Instructor Rating
  • 1,576 Reviews
  • 15,774 Students
  • 14 Courses

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.

Ekta Ekta
Facilities Manager
Ekta Ekta
  • 4.5 Instructor Rating
  • 1,576 Reviews
  • 14,493 Students
  • 14 Courses

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.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.