Cover Image For Programming Concurrency on the JVM...
280 pages,
ISBN: 978-1-93435-676-0

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.

Buy Now

Buy the eBook and get these DRM-free formats:
  • epub (for iPhone/iPad, Android, eReaders)
  • PDF
  • mobi (for Kindle)
We can automatically deliver them to your Kindle or Dropbox, if you want (but you'll need to log in).
 

About this Book

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

Full Table of Contents

Preface

  • 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

About the Author

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.