Today's is another threading episode. This time around, we tackle the subject of "atomicity", and learn about the false assumption at the root of many threading bugs.
Month: October 2013
Episode #146: Monitor
Today we learn about the concept of a "recursive mutex" as we help a turtle-racing league update their software systems.
Episode #145: Active Object
Continuing with the general theme of threads and concurrency, today we look at another pattern for splitting up work in parallel.
Episode #144: Bulk Generation
In this episode we take some already-good code and make it even better.
Episode #143: Thread Interruptions
In this episode we finally discover why the Timeout module is unsafe, and a facility new in Ruby 2.0 that makes dealing with thread interruptions much less error-prone.
Episode #142: Infinity
In today's episode, we'll simplify our thread-safe queue code by employing a "benign value" to represent the default max queue size.
Episode #141: Bounded Queue
We continue to evolve our thread-safe queue implementation. Today, we add the ability to set a bound on the queue size.
Episode #140: Threads are Hard
In this episode some bugs turn up in our thread-safe queue class.
Episode #139: Timed Queue
Continuing to build our own thread-safe queue class, today we give it the ability to handle time out enqueues and dequeues.