Over the course of several months, Andrei Alexandrescu and I wrote what we
think is a nice article on why double-checked locking can't be made to work
portably in C++. Dr. Dobb's Journal agreed to publish it, but they decided
it was too long for a single article, so they broke it into two pieces.
The first piece just came out in the July issue. The second part will be
published in the August issue (which, in classic magazine publishing logic,
will be available around the beginning of July).
We hope you enjoy the article. If not, it'll clearly be Andrei's fault :-)