This book provides an exhaustive treatment of everything concurrency in .NET and Win32.
It's organized very clearly into multiple sections: Concepts, Mechanisms, Techniques, Systems, and Appendices, and isn't missing a single thing. From background information about the roots of present day parallel algorithms and architecture, to how Windows and the CLR work internally, to higher level application models and best practices, it's all there...
As other reviewers said, this is the only book you'll need on the topic. The competition just doesn't have the broad coverage and incredible level of depth as this one. The book can be daunting at first, mostly because of its size (almost 1000 pages), but I found it surprisingly well written and enjoyable to read. Much better written than most techie books. It took me a few months to finish. I guess the author could have shortened it, but I don't know what content could have gone; the book just wouldn't be as great without every nugget of information that's in there right now. Some of the sections (like the ones on concurrent containers, detailed parallel algorithms like sorting, and memory models) took multiple reads for everything to sink in. I'm still not sure I've absorbed it all, but thankfully the book's organization makes it suitable as a reference too.
The target audience for the book as stated is any .NET or Windows programmer. Realistically, it's best for senior architects and developers, but could also be used to teach a university course or be read by less experienced developers too. I actually ordered copies for my whole team of 30 developers, all ranging in seniority, and it's basically required reading at this point. The author makes the point that concurrency is everywhere, and it's true. So the book isn't only for advanced new-age parallel programs on multi-core, but also server-side programming (web, app, SQL, map/reduce, data mining) and web apps. Really, everybody needs to know this stuff to be taken seriously. I've started using lots of these topics as interview questions.
What's best, the book is written by a Microsoft guy who runs the team building new concurrency APIs in .NET and Win32 today. (See his blog at http://www.bluebytesoftware.com/blog/ -- there's even a sample chapter there.) This gives the book far more authority than any other on the topic. I've downloaded CTPs of the .NET 4.0 parallel extensions (really amazing stuff), and the book demonstrates in detail how a lot of it is built. There's even an appendix covering the new APIs, so not only does it help build real parallel applications today, it also shows what's coming down the road.
In summary: A fun, enlightening read! I'm actually considering rereading the full 1000 pages again come this summer...
less
0 comments
Post a comment