small medium large xlarge

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

March 23, 2011

Greetings! It’s a concurrent world out there, and old-fashioned synchronized just doesn’t cut it anymore. You need to know the newest models to manage concurrency on the JVM, and when to use each. Dr. Venkat Subramaniam, the award winning author of Practices of an Agile Developer, Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine and Programming Groovy: Dynamic Productivity for the Java Developer shows you how to master these technologies.

Now available in Beta from

Tell your friends! Tweet this

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

Concurrency on the Java platform has evolved, from the synchronization model of JDK to software transactional memory (STM) and actor-based concurrency. This book is the first to show you all these concurrency styles so you can compare and choose what works best for your applications. You’ll learn the benefits of each of these models, when and how to use them, and what their limitations are.

Through hands-on exercises, you’ll learn how to avoid shared mutable state and how to write good, elegant, explicit synchronization-free programs so you can create easy and safe concurrent applications. The techniques you learn in this book will take you from dreading concurrency to mastering and enjoying it. Best of all, you can work with Java or a JVM language of your choice (Clojure, JRuby, Groovy, or Scala) to reap the growing power of multicore hardware.

If you are a Java programmer, you’ll need JDK 1.5 or later and the Akka 1.0 library. In addition, if you program in Scala, Clojure, Groovy, or JRuby you’ll need the latest version of your preferred language. Groovy programmers will also need GPars.

Table of Contents:

  • Strategies for Concurrency - Division of Labor excerpt - Design Approaches
  • Modern Java/JDK Concurrency - Scalability and Thread Safety - Taming Shared Mutability excerpt
  • Software Transaction Memory - Introduction to Software Transactional Memory - STM in Clojure, Groovy, Java, JRuby, and Scala
  • Actor-based Concurrency - Favoring Isolated Mutability excerpt - Actors in Clojure, Groovy, Java, JRuby, and Scala
  • Epilogue - Zen of Programming Concurrency

Now available in Beta from

Coming Soon:

  • Continuous Testing with Ruby: Better Software Through Faster Feedback in print
  • Agile Web Development with Rails 4th Ed. in print
  • Test-Driven Development for Embedded C in print
  • Code in the Cloud: Programming Google AppEngine in print

Recently Released:

  • iOS Recipes: Tips and Tricks for Awesome iPhone and iPad Apps [in beta]
  • Rails Test Prescriptions [in print]
  • Agile in a Flash [in print]
  • Arduino: A Quick-Start Guide [in print]
  • Thanks for your continued support,

    Andy & Dave

    Books  *  eBooks  *  Screencasts  *   PragPub Magazine