Section 1 : 1 Introduction

Lecture 1 Motivation Operating Systems fundamentals- Part 1
Lecture 2 Operating Systems Fundamentals - Part 2 7:39

Section 2 : 2 Threading fundamentals - Thread Creation

Lecture 3 Tips about Coding Lectures and Debugging Instructions Text
Lecture 4 Threads Creation - Part 1 Thread Capabilities Debugging 7:14
Lecture 5 Threads Creation - Part 2 8:27
Lecture 6 Thread Creation - MultiExecutor Solution Text

Section 3 : 3 Threading fundamentals - Thread Coordination

Lecture 7 Thread Termination Daemon Threads 7:18
Lecture 8 Joining Threads 8:19
Lecture 9 Multithreaded Calculation - Solution Text

Section 4 : 4 Performance Optimization

Lecture 10 Introduction to Performance Optimizing for Latency - Part 1 9:36
Lecture 11 Optimizing for Latency Part 2 - Image Processing 16:15
Lecture 12 Optimizing for Throughput Part 1 5:15
Lecture 13 Optimizing for Throughput Part 2 - HTTP server Jmeter 12:26

Section 5 : 5 Data Sharing between Threads

Lecture 14 Stack Heap Memory Regions 7:53
Lecture 15 Resource Sharing Introduction to Critical Sections 11:7

Section 6 : 6 The Concurrency Challenges Solutions

Lecture 16 Critical Section Synchronization 7:33
Lecture 17 Atomic Operations Volatile Metrics practical example 10:19
Lecture 18 Min - Max Metrics - Solution Text
Lecture 19 Race Conditions Data Races 8:51
Lecture 20 Locking Strategies Deadlocks 11:30

Section 7 : 7 Advanced Locking

Lecture 21 ReentrantLock Part 1 - tryLock and interruptible Lock
Lecture 22 ReentrantLock Part 2 - User Interface Application example 8:14
Lecture 23 Reentrant Read Write Lock Database Implementation
Lecture 24 Product Reviews Service - Solution Text

Section 8 : 8 Inter-Thread Communication

Lecture 25 Semaphore - Scalable Producer Consumer implementation 8:36
Lecture 26 Condition Variables - All purpose Inter-Thread Communication 8:41
Lecture 27 Objects as Condition Variables - wait() notify() and notifyAll()

Section 9 : 9 Lock-Free Algorithms Data-Structures Techniques

Lecture 28 Introduction to Non-blocking Lock Free operations 6:48
Lecture 29 Atomic Integers Lock Free E-Commerce 5:17
Lecture 30 Atomic References Compare And Set Lock-Free High Performance Data Structure

Section 10 : 10 Beyond Multithreading - Final Lecture

Lecture 31 Distributed Systems Big Data Performance 4:46