Every decade or so there is a major revolution in the way software is developed. But, unlike the object and web revolutions, the concurrency revolution can be seen coming.
Find out what dangers race conditions in general and C++0x data races in particular pose to concurrent code, as well as the strategies for avoiding them.
Most uses of synchronization code in multi-threaded applications fall into a small number of high-level "usage patterns", or what can be called generic synchronization policies (GSPs). This paper illustrates how the use of such GSPs simplify the writi...
This book provides an in-depth overview of underlying principles as well as practical techniques that can be used to design concurrent programs. (Greg Andrews)
This column is about why it's time right now to think about systems with lots of cores. In short: Software is the (only) gating factor; as that gate falls, hardware parallelism is coming more and sooner than many people yet believe.
Presents a solution to races and deadlocks based on a well-known deadlock-avoidance protocol and shows how it can be enforced by the compiler. It can be applied to programs in which the number of locks is fixed and known up front.