C++ Concurrency in Action book useful data structures rewritten with Boost.Threads.