Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Mastering Platform Threads in Java 21 (v1.4)
1. Mastering Platform Threads in Java 21 (v1.4)
Copyright Notice
0. Mastering Platform Threads in Java 21 (v1.4) (2:19)
1. Welcome (3:12)
Slides
Exercises
2. Basics of Threads
2. Basics of Threads (0:22)
2.1. Multiple Processes (3:21)
2.2. Why use threads? (1:38)
2.3.1. Threading Models - Preemptive (1:21)
2.3.2. Threading Models - Cooperative (1:18)
2.3.3. Threading Models - Which one? (1:38)
2.4.1. Parallel Computing (11:54)
2.4.2. Concurrent Computing (1:37)
2.5. Java Memory Model (JSR 133) (4:28)
2.6.1. Creating new Thread (1:57)
2.6.2. New Thread with Runnable (1:19)
2.6.3. New Thread with Builder (0:57)
2.7. Shared memory with multithreading (5:30)
2.7.1. Synchronized (3:38)
2.7.2 Synchronized BankAccount (8:48)
2.7.3. Synchronized Methods (6:49)
2.8. Thread states (3:59)
2.9. Inter-thread communication (1:09)
2.9.1. Wait and Notify (0:38)
2.9.2. Which should we prefer? (2:18)
2.9.3. ProducerConsumer (11:07)
2.9.4. ReentrantLock and Condition (1:55)
2.9.5. ProducerConsumer using ReentrantLock (9:36)
2.9.6. AutoLock for try-with-resource (4:56)
2.10. Priorities (1:05)
2.11. Timers (1:12)
2.12. Daemon Threads (1:30)
2.13. Techniques for shutting down (2:49)
2.14.1. Exercise 2.1. Description (1:16)
2.14.1.1. Exercise 2.1. Walkthrough (7:28)
2.14.2. Exercise 2.2. Description (0:23)
2.14.2.1. Exercise 2.2. Walkthrough (6:28)
2.14.3. Exercise 2.3. Description (1:15)
2.14.3.1. Exercise 2.3. Walkthrough (23:25)
3. The Secrets of Concurrency
3. The Secrets of Concurrency (2:36)
3.1. The Law of the Sabotaged Doorbell (16:42)
3.2. The Law of the Distracted Spearfisherman (4:56)
3.3. The Law of the Overstocked Haberdashery (10:40)
3.4. The Law of the Blind Spot (7:36)
3.5. The Law of the Leaked Memo (24:25)
3.6. The Law of the Corrupt Politician (1:10)
3.7. The Law of the Micromanager (14:36)
3.8. The Law of Cretan Driving (7:32)
3.9. The Law of Sudden Riches (3:34)
3.10. The Law of the Uneaten Lutefisk (4:56)
3.11.1. Exercise 3.1. Description (0:22)
3.11.1.1. Exercise 3.1. Walkthrough (7:02)
3.11.2. Exercise 3.2. Description (0:33)
3.11.2.1. Exercise 3.2. Walkthrough (10:17)
3.11.3. Exercise 3.3. Description (0:14)
3.11.3.1. Exercise 3.3. Walkthrough (5:46)
4. Applied Threading Techniques
4. Applied Threading Techniques (2:01)
4.1. Executors (2:40)
4.2. ExecutorService Interface (5:48)
4.2.1. ExecutorDemo (9:29)
4.3. Types of ExecutorService (23:03)
4.4. CompletionService (1:59)
4.5. CountDownLatch (7:18)
4.6. Semaphore (10:07)
4.7. BlockingQueues (1:50)
4.7.1. ArrayBlockingQueue (3:25)
4.7.2. LinkedBlockingQueue (10:38)
4.7.3. PriorityBlockingQueue (1:08)
4.7.4. DelayQueue (0:46)
4.7.5. SynchronousQueue (2:58)
4.7.6. ProducerConsumer with BlockingQueue (1:56)
4.8. Exceptions (7:05)
4.9. ThreadLocal (5:19)
4.10. Stopping Threads (1:04)
4.11. Shutdown Hooks (5:58)
4.12.1. Exercise 4.1. Description (0:59)
4.12.1.1. Exercise 4.1. Walkthrough (10:26)
4.12.2. Exercise 4.2. Description (0:15)
4.12.2.1. Exercise 4.2. Walkthrough (13:07)
4.12.3. Exercise 4.3. Description (1:12)
4.12.3.1. Exercise 4.3. Walkthrough (1:47)
4.12.4. Exercise 4.4. Description (5:01)
4.12.4.1. Exercise 4.4. Walkthrough (5:51)
5. Threading Problems
5.1. Race Condition (3:02)
5. Threading Problems (3:38)
5.1.1. Example of simple race condition (2:13)
5.1.2. Fixed with LongAdder (3:07)
5.1.3. Demo of RaceConditonExample (18:44)
5.1.4. Lazy initialization race conditions (6:29)
5.1.5. ConcurrentHashMap (2:19)
5.1.6. How to detect race conditions (4:07)
5.2. Starvation (2:36)
5.2.1. ReadWriteLock Starvation (6:04)
5.2.2. Detecting Thread Starvation (4:16)
5.3. Fairness (9:56)
5.4. Deadlock (13:55)
5.4.1. HappyLocker (3:38)
5.5. Livelock (2:23)
5.6.1. Exercise 5.1. Description (0:27)
5.6.1.1. Exercise 5.1. Walkthrough (12:06)
5.6.2. Exercise 5.2. Description (0:21)
5.6.2.1. Exercise 5.2. Walkthrough (9:32)
6. Conclusion
6. Conclusion (3:17)
Teach online with
5.6.1. Exercise 5.1. Description
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock