Stop dreading concurrency hassles and start reaping the pure power of modern multicore hardware. Learn how to avoid shared mutable state and how to write safe, elegant, explicit synchronization-free programs in Java or other JVM languages including Clojure, JRuby, Groovy, or Scala.
About this Book
- 280 pages
- Release: P1.0 (2011-08-24)
- ISBN: 978-1-93435-676-0
Programming Concurrency on the JVM is the first book to show you three prominent concurrency styles: the synchronization model of the JDK, Software Transactional Memory (STM), and actor-based concurrency. You’ll learn the benefits of each of these models, when and how to use them, and what their limitations are so you can compare and choose what works best for your applications.
More than ever, learning to program using concurrency is critical to creating faster, responsive applications, and now you can leverage the Java platform to bring these applications to high-octane life. In this book, you’ll see how to:
- Painlessly develop correct concurrent programs
- Use modern, explicit synchronization-free concurrency solutions from pure Java
- Choose concurrency options separately from choosing an implementation language
- Gain the skills to master concurrency on the latest-generation hardware
Through hands-on exercises you’ll master these techniques in short order, and understand when and where to use them in your next killer app.
What You Need
If you are a Java programmer, you’d need JDK 1.5 or later and the Akka 1.0 library. In addition, if you program in Scala, Clojure, Groovy or JRuby you’d need the latest version of your preferred language. Groovy programmers will also need GPars.
Contents and Extracts
- The Power and Perils of Concurrency
- Strategies for Concurrency
- Division of Labor excerpt
- Design Approaches
- Modern Java/JDK Concurrency
- Scalability and Thread Safety
- Taming Shared Mutability excerpt
- Software Transactional Memory
- Introduction to Software Transactional Memory
- STM in Clojure, Groovy, Java, JRuby, and Scala
- Actor-Based Concurrency
- Favoring Isolated Mutability excerpt
- Actors in Groovy, Java, JRuby, and Scala
- Zen of Programming Concurrency
- Clojure Agents
- Web Resources
Comments and Reviews
—Alex Miller Architect/Senior Engineer Revelytix, Inc.
There has been an explosion of interest and application for both new concurrency models and new languages on the JVM. Venkat’s book ties it all together and shows the working developer how to structure their application and get the most out of existing libraries, even if they were built in a different language. This book is the natural successor to Java Concurrency in Practice.
—Chris Richardson Author of "POJOS in Action" and Founder: CloudFoundry.com
Extremely thorough coverage of a critically important topic.
—Raju Gandhi Senior consultant Integrallis Software, LLC
If the JVM is your platform of choice, then this book is an absolute must-read. Buy it, read it, and then buy a copy for all your team members. You will well be on your way to finding a good solution to concurrency issues.
—Albert Scherer Manager eCommerce Technologies, Follett Higher Education Group, Inc.
An excellent book! Venkat skillfully leads us through the many design and implementation decisions that today’s JVM developer faces in multithreaded programming. His easy-to-read style and the many examples he provides—using a variety of current open source tools and JVM languages—make this complex topic very approachable.