Today I finally finished reading Concurrent Programming on Windows by Joe Duffy. It took me this long, not because it’s a boring book (it’s not!), but because it covers a lot of ground and a goes into a lot depth.
This is not a book for someone looking for a 3-step program to start writing flawless concurrent programs, simply because there is no such program. As Joe points out throughout the book, writing concurrent programs is hard and error prone. It’s definitely not a simple case of running running all the items in your for or foreach loop on a new thread and automagically your program got a n-times faster.
Amount of subjects the book covers easily explains it’s size (900 pages), it covers a wide range of subjects from low level Memory models, via threads and lock object, to concurrent containers and finally to Parallel Containers for .NET CTP. I think this is a must read book for all serious developers, who in the near or not so near future expect to be writing concurrent programs. Considering the future of CPU’s and cloudcomputing, I believe that will be all of us.