If you had your own jet plane, would you drive it to the grocery
store, or fly it on a tour around the world?
Today every computer and phone comes with immense computing power and multiple cores that allow for full parallelism. In this course you will go on a journey to learn all the fundamental tools you need to become a confident and successful multithreaded application developer. Using multithreading and concurrency we will learn to get the most out of our computer to truly make it fly!
The course is designed to teach you "how to fish". Instead of memorizing classes, libraries or Java APIs, we will learn the fundamentals of multithreaded programming, starting from the complete basics, all the way to the very advanced topics in multithreading.
- Threading fundamentals - Thread Creation
- Threading fundamentals - Thread Coordination
- Performance Optimization
- Data Sharing between Threads
- The Concurrency Challenges & Solutions
- Advanced Locking
- Inter-Thread Communication
- Lock-Free Algorithms, Data-Structures & Techniques
- Beyond Multithreading - Final Lecture