C++ Concurrency in Action - A (P)Review
Recently I had been contacted by a representative from Manning Publishing to do a book review about an upcoming book about C++ Concurrency in Action by Anthony Williams. I’ve been lucky enough to get access to preview of the book while it’s being written—and now I’m posting a public review of my thoughts on the book.
I for example have in the past written a lot about parallel programming ranging from observations in the changes to come in parallel computing and parallel computing on the desktop to code samples on parallel programming . I was fortunate enough to get a preview of the book and in this post I note down my take on it.
Anthony Williams (maintainer of Boost.Thread) has been one of the main proponents of the push to include a threading library as part of the C++ Standard Template Library. In his upcoming book he writes very eloquently and in a very readable manner about the good, bad, ugly, and beautiful aspects of writing concurrent programs. He uses a conversational style of writing to make his point which is a delight to read especially since the subject matter is fairly complex.
His book is chock full of insights from various levels in designing and implementing concurrent C++ applications using the upcoming C++ standard threading library. He also points out implementations already available in Boost.Thread as well as idioms and techniques into writing effective solutions to common issues faced with concurrency and C++.
He also writes very well about common pitfalls in adapting certain data structures and algorithms from a purely sequential and single-threaded view to thead-safe equivalents. For instance he writes about the problems you’ll encounter when locking mutexes and certain design decisions that have to be made when implementing concurrency-aware abstract data types.
Interestingly he takes the reader through a well thought out series of evolutions of solutions and approaches written in succinct and very representative “real world” C++ code. He uses this style when introducing new concepts as well as going back into earlier slightly discussed and deferred topics. This is welcome especially for those who have been doing concurrent programming for a long time already and should work equally well for those who have not yet been exposed to much of the intricacies of concurrency-aware programming in C++.
When the book does come out, expect to see a thorough discourse and handy manuscript on the evolution of C++ into the concurrent application development space, new tools for every C++ programmer’s toolbox, great tips and insights, and overall great advice when approaching concurrent application development in C++. It is very well written and definitely worth every penny you invest in it especially if you intend to future-proof yourself from the challenges of multi-core programming with C++.
Overall it’s a must-read if you intend to ride the wave of developing concurrent applications that take advantage of the new multi-core processor architectures. It’s a book you shouldn’t pass up if you intend on being productive with C++ for a long time to come.
I will definitely look forward to this book when it does go out for distribution. Do not miss this opportunity to learn from one of the recognized experts in C++ as far as concurrency programming is concerned. You can pre-order your copy today.



1 comments:
Thanks for your kind words!
Post a Comment