Java Fundamentals - Concurrency with Multithreading
Today most programs have a concurrent element and knowledge of concurrency is vital. This course will teach you how to use the Java libraries to achieve concurrency via multithreading.
What you'll learn
Today most programs have a concurrent element and knowledge of concurrency is vital. In this course Java Fundamentals - Concurrency with Multithreading, you'll gain the skills you need to create and work with such software using the Java libraries. This will also form a basis from which to learn more advanced frameworks. Just because this is a fundamentals course, it doesn't mean it's solely for Java novices. A wide range of topics will be covered, some fairly advanced, which are appropriate to more seasoned developers. First, you'll learn how to make a program multithreaded. Next, you'll learn how to safely communicate and share data between the threads and avoid liveness issues such as deadlock. Finally, you'll finish this course by looking at thread signaling and thread pools. After completing this module, you should be able to write multithreaded software with ease and be able to confidently discuss the subject in an interview situation.
Table of contents
- Introduction to Creating and Managing Threads 1m
- Creating Threads 8m
- Sleeping 4m
- jstack and jconsole 2m
- Interrupting Threads and Handling InterruptedException 5m
- Waiting for Threads to Finish (isAlive and join) 3m
- Handling Exceptions from Threads and ThreadGroup 3m
- ThreadLocal 4m
- Why Stop, Suspend, and Resume Are Deprecated 1m
- Creating and Managing Threads Module Summary 1m
- Introduction to Sharing Memory Across Threads 2m
- Thread Safety and the Java Memory Model 5m
- Examples of Issues with Sharing Unsynchronized Data 11m
- Solving Data Synchronization Issues with Volatile 9m
- Publishing Objects to Share Data 6m
- Other Java Memory Model Guarantees 2m
- Summary of Sharing Memory Across Threads 1m