Asynchrony refers to the occurrence [and handling] of events independent of the main program flow. These may be outside events such as the arrival of signals, or [non-blocking] actions instigated by a program that take place concurrently with program execution.
In this episode some bugs turn up in our thread-safe queue class.
Continuing to build our own thread-safe queue class, today we give it the ability to handle time out enqueues and dequeues.
In this episode we introduce the concept of a "critical section", and learn about one of the fundamental primitives that makes multithreaded programming possible.
Concurrent programming is hard, and one of the things that makes it so hard is that a thread can unexpectedly die without giving the programmer any indication. In this episode …
Queue, somewhat surprisingly, is not enumerable. Which is all the excuse we need to have some more fun with the Enumerator class, in today's episode.
Last time around we introduced the Queue class. In this episode, we'll put it to work!
Today's episode introduces the Queue standard library, and shows how it can be used to coordinate threads.
In this episode we'll explore Ruby's lightweight concurrency primitive by using it to emulate the Enumerator class.