| 1 | | |
| Course Roadmap | |
| Join the Community | |
| 2 | | |
| Introduction to ConcurrencyBeginner | Beginner |
| Concurrency vs ParallelismBeginner | Beginner |
| Processes vs ThreadsBeginner | Beginner |
| Thread Lifecycle and StatesBeginner | Beginner |
| Race Conditions and Critical SectionsBeginner | Beginner |
| Concurrency ModelsIntermediate | Intermediate |
| 3 | Language Specific Concurrency | |
| Java | |
| Creating ThreadsBeginner | Beginner |
| Java Memory ModelIntermediate | Intermediate |
| Synchronized vs ReentrantLockIntermediate | Intermediate |
| java.util.concurrent Package TourIntermediate | Intermediate |
| Virtual ThreadsIntermediate | Intermediate |
| CompletableFuture Async ProgrammingIntermediate | Intermediate |
| Python | |
| Creating ThreadsBeginner | Beginner |
| Global Interpreter Lock (GIL)Intermediate | Intermediate |
| Threading vs MultiprocessingIntermediate | Intermediate |
| Asyncio FundamentalsIntermediate | Intermediate |
| concurrent.futures ModuleIntermediate | Intermediate |
| C++ | |
| Creating ThreadsBeginner | Beginner |
| C++ Memory ModelIntermediate | Intermediate |
| std::atomic and Memory OrdersIntermediate | Intermediate |
| RAII for ConcurrencyIntermediate | Intermediate |
| std::async, std::future, and std::promiseAdvanced | Advanced |
| C# | |
| Creating ThreadsBeginner | Beginner |
| C# Memory ModelIntermediate | Intermediate |
| Lock, Monitor, and SynchronizationIntermediate | Intermediate |
| Task Parallel Library (TPL)Intermediate | Intermediate |
| Async/Await InternalsIntermediate | Intermediate |
| Channels and DataflowAdvanced | Advanced |
| Go | |
| Creating GoroutinesBeginner | Beginner |
| Go Memory ModelIntermediate | Intermediate |
| Goroutines and SchedulerIntermediate | Intermediate |
| Channels FundamentalsIntermediate | Intermediate |
| sync PackageIntermediate | Intermediate |
| 4 | Synchronization Primitives | |
| Mutex (Mutual Exclusion)Beginner | Beginner |
| SemaphoresBeginner | Beginner |
| Condition VariablesIntermediate | Intermediate |
| Read-Write LocksIntermediate | Intermediate |
| Barriers and LatchesIntermediate | Intermediate |
| 5 | | |
| Coarse-grained vs Fine-grained LockingIntermediate | Intermediate |
| Reentrant LocksIntermediate | Intermediate |
| Try-Lock and Timed LockingIntermediate | Intermediate |
| Optimistic vs Pessimistic LockingIntermediate | Intermediate |
| Two-Phase LockingAdvanced | Advanced |
| 6 | | |
| Compare-And-Swap (CAS)Intermediate | Intermediate |
| Atomic OperationsAdvanced | Advanced |
| 7 | | |
| DeadlockBeginner | Beginner |
| LivelockBeginner | Beginner |
| StarvationIntermediate | Intermediate |
| Lost Signal / WakeupIntermediate | Intermediate |
| Spurious WakeupIntermediate | Intermediate |
| Thread LeakageIntermediate | Intermediate |
| Priority InversionAdvanced | Advanced |
| 8 | | |
| Signaling PatternBeginner | Beginner |
| Thread Pool PatternBeginner | Beginner |
| Producer-Consumer PatternBeginner | Beginner |
| Reader-Writer PatternIntermediate | Intermediate |
| Future/Promise PatternIntermediate | Intermediate |
| Fork-Join PatternAdvanced | Advanced |
| Double-Checked Locking PatternAdvanced | Advanced |
| 10 | | |
| Print Foo Bar AlternatelyBeginner | Beginner |
| Print Zero Even OddBeginner | Beginner |
| Fizz Buzz MultithreadedBeginner | Beginner |
| Building H2O MoleculeIntermediate | Intermediate |
| Readers-Writers ProblemIntermediate | Intermediate |
| Unisex BathroomIntermediate | Intermediate |
| Bounded BufferIntermediate | Intermediate |
| Sleeping BarberIntermediate | Intermediate |
| Dining PhilosophersIntermediate | Intermediate |
| Cigarette Smokers ProblemAdvanced | Advanced |
| Santa Claus ProblemAdvanced | Advanced |
| 11 | Concurrency Design Problems | |
| Design Thread-Safe Cache with TTLIntermediate | Intermediate |
| Design Thread-Safe Rate LimiterIntermediate | Intermediate |
| Design Deferred Callback ExecutorIntermediate | Intermediate |
| Design Ticket Booking SystemIntermediate | Intermediate |
| Design Multithreaded Web CrawlerIntermediate | Intermediate |
| Design Multithreaded Pub-Sub SystemAdvanced | Advanced |
| Design Task Scheduler with DependenciesAdvanced | Advanced |
| 12 | Concurrent Data Structures | |
| Design Concurrent HashMapIntermediate | Intermediate |
| Design Thread-Safe Blocking QueueIntermediate | Intermediate |
| Design Concurrent Bloom FilterIntermediate | Intermediate |
| Design Lock-Free QueueAdvanced | Advanced |
| Design Concurrent Priority QueueAdvanced | Advanced |
| Design Thread-Safe TrieAdvanced | Advanced |
| 13 | Multi-threaded Algorithms | |
| Multi-threaded Merge SortIntermediate | Intermediate |
| Multi-threaded Word Frequency CounterIntermediate | Intermediate |
| Concurrent BFS/DFS Graph TraversalAdvanced | Advanced |