This concise book empowers all Java developers to master the complexity of the Java thread APIs and concurrency utilities. This knowledge aids the Java developer in writing correct and complex performing multithreaded applications.
Java’s thread APIs and concurrency utilities are among its most powerful and challenging APIs and language features. Java beginners typically find it very difficult to use these features to write correct multithreaded applications. Threads and the Concurrency Utilities helps all Java developers master and use these capabilities effectively.
This book is divided into two parts of four chapters each. Part 1 focuses on the Thread APIs and Part 2 focuses on the concurrency utilities. In Part 1, you learn about Thread API basics and runnables, synchronization and volatility, waiting and notification, and the additional capabilities of thread groups, thread local variables, and the Timer Framework. In Part 2, you learn about concurrency utilities basics and executors, synchronizers, the Locking Framework, and the additional capabilities of concurrent collections, atomic variables, and the Fork/Join Framework.
Each chapter ends with select exercises designed to challenge your grasp of the chapter’s content. An appendix provides the answers to these exercises. A second appendix explores how threads are used by various standard class library APIs. Specifically, you learn about threads in the contexts of Swing, JavaFX, and Java 8’s Streams API.
What you’ll learn
- How to do thread runnables, synchronization, volatility, waiting and notification, thread groups, thread local variables, and the Timer Framework
- How to create multithreaded applications that work correctly.
- What are concurrency utilities basics and executors
- What are synchronizers, the Locking Framework, concurrent collections, atomic variables, and the Fork/Join Framework and how to use them
- How to leverage the concurrency utilities to write more complex multithreaded applications and achieve greater performance
- How to apply thread usage in Swing, JavaFX, and Java 8 Streams API contexts