REVIEW - Multi-threaded Programming in C++


Multi-threaded Programming in C++


Mark Walmsley



Springer Verlag (2000)




Allan Kelly


October 2000



In the last couple of years I have become increasingly interested in, and involved in multi-threaded programming using C++. Having hit one or two problems I thought "someone must have documented these" and so I sought out and bought about the only (obvious) book on the market. If you are in this situation do not buy this book.

I had hoped for a book that would explore the depths of multi-threaded programs using the C++ language. At best this is a book for beginners, even here although it may be an adequate introduction I cannot recommend it. The author seems unsure of his audience: while he covers thread basics he also feels the need to cover C++ basics, and on occasions C basics. This may be normal in a 1000-page book but I expect a 200 page book to be clear and to the point.

At its worst the author shows scant consideration for industry practice (all classes are named with UPPERCASE) and ignores his own text: he introduces "resource acquisition is initialisation" without naming it and having shown its usefulness forgets about it for the rest of the book.

The book is based around his own set of threading classes for threads, mutex, events, etc. There is no discussion of third party classes, although pthreads and Win32 source code is printed there is no CD or web site - nor is there any attempt to make the code cross platform.

For these and other reasons (e.g. no use of the standard library although the book was published after the standard, poor design of classes, scant attention to exceptions) I cannot recommend the book to beginners. While it may teach you something about threads you may also pick up poor design and implementation habits.

The greatest shame of this book is that a good guide to multi-threaded programming in the C++ language is required and this is an opportunity missed.

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.