Lions and Tigers and Threading
ridiculous_fish has a ridiculously long (but good) blog post up about the interaction between C, compiler trickiness, and processor I/O reordering with a dose of double-checked locking for good measure.
I've promised myself that I'll re-read C++ and the Perils of Double-Checked Locking every six months until it takes me less than an hour to fully grok on each read-through.
And I'll offer a new postulation, called Coughlin's Probably Stolen Law of Multithreading in Imperative Languages: performance, simplicity, correctness — you're lucky if you get to pick even two.
Posted by coughlin at 11:05 PM