small medium large xlarge

Programming Concurrency on the JVM: Mastering Synchronization, STM, and Actors


Cover image for Programming Concurrency on the JVM

Programming Concurrency on the JVM

Mastering Synchronization, STM, and Actors


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.

Choose Your Format(s)

  • $47.00 In Stock

    Save $13.00 on the combo pack.

  • $35.00 In Stock
  • $25.00 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

About this Title

Pages: 280
Published: 2011-07-25
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.

Read the reviews .

Contents & Extracts

Full Table of Contents


  • 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
  • Epilogue
    • Zen of Programming Concurrency
  • Clojure Agents
  • Web Resources
  • Bibliography


Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an adjunct faculty at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences.