New release of Working With Ruby Threads!

Published on June 11, 2013 by Jesse Storimer

I'm happy to report that I've made a BIG update to Working With Ruby Threads. Previous buyers always get free updates (you should have already received an email from me with the news and instructions).

The update weighs in at about 40 pages of new content, with more diagrams and charts, and lots of clarifications and small improvements.

Here's a laundry list of the changes, starting with the most important. If you want to pick up a copy, make sure you scroll to the bottom and check out the discount available this week only.

  • New chapters on real world code. I wasn't happy with the hands-on chapter at the end of the book because it lacked a real-world edge. So that chapter's been removed and replaced by two new chapters that walk through real-world multi-threaded code from the Puma web server and the Sidekiq project. 
  • Updated chapter on mutexes. This chapter got two new additions to introduce you to some deeper aspects of synchronization. One covers the concept of memory visibility between threads, which wasn't covered in the original release. The other addition is a section about deadlocks, what they look like and how you can avoid them.
  • New appendices on advanced topics. The book now includes two appendices, one about atomic updates and the other about immutability and how it relates to thread-safety. Neither of these approaches are supported in Ruby proper, but both are really powerful techniques that are taking hold in other concurrency-friendly languages, like Clojure for instance. But there's nothing stopping us from doing the same things in Ruby. Check these out when you feel you've got a solid understanding of the basics.
  • Better code examples. Many of the code examples in the original release were based on code that you would never write in your day-to-day work. Where I could, I replaced these with slightly more realistic examples.
  • The example code is now tested against JRuby 1.7.4, Rubinius 2.0.0-rc1, and MRI 2.0.0-p195.
  • Introduced the concept of atomicity earlier in the book, in the first discussion of thread-safety.
  • Fixed chart rendering issues on both the .epub and .mobi versions. The .epub now has real code formatting too.
  • Updated the dedication to include my second daughter! She was born shortly after the book was released.

Head over to the product page to buy a copy!

To celebrate the new release, I'm offering the same discount that I offered at launch time: if you buy the middle package (the one with the expert interviews), I'll give you a free copy of Working With Unix processes. This discount is good until Thursday (June 13). Click here to take advantage of this deal.