Introduction
  • Motivation & Operating Systems fundamentals- Part 1
  • Operating Systems Fundamentals - Part 2
  • Threading and Operating Systems Fundamentals Quiz
Threading fundamentals - Thread Creation
  • Tips about Coding Lectures and Debugging Instructions
  • Threads Creation - Part 1, Thread Capabilities & Debugging
  • Threads Creation - Part 2. Thread Inheritance
  • Thread Creation
  • Thread Creation - MultiExecutor
  • Thread Creation - MultiExecutor Solution
Threading fundamentals - Thread Coordination
  • Thread Termination & Daemon Threads
  • Thread Termination & Daemon Threads
  • Joining Threads
  • Multithreaded Calculation
  • Multithreaded Calculation - Solution
Performance Optimization
  • Introduction to Performance & Optimizing for Latency - Part 1
  • Optimizing for Latency Part 2 - Image Processing
  • Optimizing for Throughput Part 1
  • Optimizing for Throughput Part 2 - HTTP server + Jmeter
  • Performance Optimization
Data Sharing between Threads
  • Stack & Heap Memory Regions
  • Stack & Heap Memory Regions
  • Resource Sharing & Introduction to Critical Sections
The Concurrency Challenges & Solutions
  • Critical Section & Synchronization
  • Critical Section & Synchronization
  • Atomic Operations, Volatile & Metrics practical example
  • Atomic Operations, Volatile & Metrics practical example
  • Min - Max Metrics
  • Min - Max Metrics - Solution
  • Race Conditions & Data Races
  • Data Races
  • Locking Strategies & Deadlocks
  • Locking Strategies & Deadlocks
Advanced Locking
  • ReentrantLock Part 1 - tryLock and interruptible Lock
  • ReentrantLock Part 2 - User Interface Application example
  • ReentrantLock
  • Reentrant Read Write Lock & Database Implementation
  • Read-Write Locks
  • Product Reviews Service
  • Product Reviews Service - Solution
Inter-Thread Communication
  • Semaphore - Scalable Producer Consumer implementation
  • Semaphores - Barrier
  • Condition Variables - All purpose, Inter-Thread Communication
  • Objects as Condition Variables - wait(), notify() and notifyAll()
  • Condition Variables
  • Simple CountDownLatch
  • Simple CountDownLatch - Solution
Lock-Free Algorithms, Data-Structures & Techniques
  • Introduction to Non-blocking, Lock Free operations
  • Atomic Integers & Lock Free E-Commerce
  • Atomic References, Compare And Set, Lock-Free High Performance Data Structure
  • Lock-Free Algorithms, Data-structures & Techniques
Beyond Multithreading - Final Lecture
  • Distributed Systems, Big Data & Performance
  • Bonus Material - Courses Links and Coupons