It & Software Online Course by Udemy, On Sale Here
Linux POSIX Threads ( Pthreads ), thread Synchronization, Operating System Concepts, C/C++ programming with Projects
An excellent training about Operating Systems
Master Class-Multithreading & Thread Synchronization – C/C++
Welcome to the Course Series on Multi-Threading – The Master Class Course on Threads. [ * STILL ADDING CONTENT TO IT, LAST UPDATED 31 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 (POSIXthreads) on the Linux platform. Though We use theC language to demonstrate the concepts, but concepts holds 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 not limited to – Deadlocks, Mutual Exclusion, Atomicity, ThreadSynchronization, 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 ThreadSynchronization. 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 ThreadsThread Creation & TerminationRacecondition on ThreadCreationPassing Argument to Thread FunctionStack Memory Mgmt for Multi-threaded ProgramsThread Scheduling2. Understanding Concurrency and ParallelismSinglularism Vs Concurrency Vs ParallelismConcurrent Process Design – 2 ExamplesThreads as Light Weighted ProcessOverlapping and Non-Overlapping Work3. Joinable and Detached ThreadsJoinable Vs Detached ThreadsHow to Join a threadWhom to Join?Sample – Map-Reduce Program4. Inter Thread CommunicationUnderstanding Callbacks and Function PointersBest way to implement ITCImplementing Notification ChainsA Publisher Subscriber ModelHow to Subscribe/UnSubscribeHow to send Notification to Subscribers 5. Asynchronous Thread CancellationThreadCancellationAsynchronous and Deferred Thread CancellationProblem with Async ThreadCancellationResourceLeakingInvariantsDeadlocksConcept of Thread Cleanup HandlersPrevent Resource Leaking Data Structure Corruption – InvariantsCancellation causing Deadlocks6. DeferredCancellationUnderstanding Deferred CancellationImplementation7. Listener Threads – Responsibility DelegationWhy Listener threads?Designing Listener threadsCode Changes and Demo Cancellation of blocked Threads8. ThreadSynchronizationCritical SectionMutexRulesMutex LockingMutex Locking – Code LockingMutex Locking – Data LockingMutex based APIsMutexes in Action9. DeadlocksWhat are deadlocks and why do they happen?Necessary conditions for Deadlock to happenMutex lock Ordering Causing Deadlocks 10. Condition VariablesUnderstanding CVCVVs MutexWait( ) & Signal( )Producer-ConsumerThreadSynchronizationThread Vs RescourseSpecific CVBroadcasting a CV Implement Producer-ConsumerProblem << Delivered Till here as on 31 Jan 2020Listing Upcoming Topics ( Under Progress)= = = = = = = = = = = = = = = = = = = = = = Then We enter into Thread Synchronization Topics: 1. Thread Pools2. Lock Size3. Standard Problems - Reader/Writer Problem, Dining Philosopher problem etc4. Implementing Master-Slave Relationship between threads5. Implementing Thread Scheduler6. Implementing Thread Monitors7. Semaphore based Synchronization8. Deadlock Detection and Prevention9. Asynchronous Programming using Threads (Say Goodbye to Locking)10. Implement Timers using Threads11. How to fork a multi-threaded processSo 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.
Udemy is the leading global marketplace for learning and instruction
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams.
Study anytime, anywhere.
Reviews
There are no reviews yet.