Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.
Concurrent Programming on Windows and over 300,000 other books are available for Amazon Kindle – Amazon’s new wireless reading device. Learn more

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
45 used & new from $34.98

Have one to sell? Sell yours here
 
   
Concurrent Programming on Windows (Microsoft .NET Development Series)
 
 
Start reading Concurrent Programming on Windows on your Kindle in under a minute.

Don’t have a Kindle? Get yours here.
 
  

Concurrent Programming on Windows (Microsoft .NET Development Series) (Paperback)

by Joe Duffy (Author) "Concurrency is everywhere..." (more)
Key Phrases: lock count, creating fences, thread start routine, Further Reading, Windows Vista, Windows Forms (more...)
4.5 out of 5 stars See all reviews (13 customer reviews)

List Price: $49.99
Price: $38.99 & this item ships for FREE with Super Saver Shipping. Details
You Save: $11.00 (22%)
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Tuesday, July 7? Choose One-Day Shipping at checkout. Details
33 new from $34.98 12 used from $38.08
Also Available in: List Price: Our Price: Other Offers:
Kindle Edition (Kindle Book) $31.99

Check Out Related Media

13:49
 
   


Frequently Bought Together

Concurrent Programming on Windows (Microsoft .NET Development Series) + Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) (Microsoft .NET Development Series) + More Effective C#: 50 Specific Ways to Improve Your C# (Effective Software Development Series)
Price For All Three: $107.67

Show availability and shipping details


Customers Who Bought This Item Also Bought

More Effective C#: 50 Specific Ways to Improve Your C# (Effective Software Development Series)

More Effective C#: 50 Specific Ways to Improve Your C# (Effective Software Development Series)

by Bill Wagner
4.4 out of 5 stars (11)  $29.69
MicrosoftŪ .NET: Architecting Applications for the Enterprise (PRO-Developer)

MicrosoftŪ .NET: Architecting Applications for the Enterprise (PRO-Developer)

by Dino Esposito
4.8 out of 5 stars (16)  $27.04
WindowsŪ Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (PRO-Developer)

WindowsŪ Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (PRO-Developer)

by Mark Russinovich
5.0 out of 5 stars (1)  $44.09
The C# Programming Language (3rd Edition) (Microsoft .NET Development Series)

The C# Programming Language (3rd Edition) (Microsoft .NET Development Series)

by Anders Hejlsberg
4.1 out of 5 stars (29)  $29.69
Effective C#: 50 Specific Ways to Improve Your C# (Effective Software Development Series)

Effective C#: 50 Specific Ways to Improve Your C# (Effective Software Development Series)

by Bill Wagner
4.3 out of 5 stars (29)  $37.11
Explore similar items

Editorial Reviews

Product Description

“I have been fascinated with concurrency ever since I added threading support to the Common Language Runtime a decade ago. That’s also where I met Joe, who is a world expert on this topic. These days, concurrency is a first-order concern for practically all developers. Thank goodness for Joe’s book. It is a tour de force and I shall rely on it for many years to come.”

–Chris Brumme, Distinguished Engineer, Microsoft

 

“I first met Joe when we were both working with the Microsoft CLR team. At that time, we had several discussions about threading and it was apparent that he was as passionate about this subject as I was. Later, Joe transitioned to Microsoft’s Parallel Computing Platform team where a lot of his good ideas about threading could come to fruition. Most threading and concurrency books that I have come across contain information that is incorrect and explains how to solve contrived problems that good architecture would never get you into in the first place. Joe’s book is one of the very few books that I respect on the matter, and this respect comes from knowing Joe’s knowledge, experience, and his ability to explain concepts.”

–Jeffrey Richter, Wintellect

 

“There are few areas in computing that are as important, or shrouded in mystery, as concurrency. It’s not simple, and Duffy doesn’t claim to make it so–but armed with the right information and excellent advice, creating correct and highly scalable systems is at least possible. Every self-respecting Windows developer should read this book.”

–Jonathan Skeet, Software Engineer, Clearswift

 

“What I love about this book is that it is both comprehensive in its coverage of concurrency on the Windows platform, as well as very practical in its presentation of techniques immediately applicable to real-world software development. Joe’s book is a ‘must have’ resource for anyone building native or managed code Windows applications that leverage concurrency!”

–Steve Teixeira, Product Unit Manager, Parallel Computing Platform, Microsoft Corporation

 

“This book is a fabulous compendium of both theoretical knowledge and practical guidance on writing effective concurrent applications. Joe Duffy is not only a preeminent expert in the art of developing parallel applications for Windows, he’s also a true student of the art of writing. For this book, he has combined those two skill sets to create what deserves and is destined to be a long-standing classic in developers’ hands everywhere.”

–Stephen Toub, Program Manager Lead, Parallel Computing Platform, Microsoft

 

“As chip designers run out of ways to make the individual chip faster, they have moved towards adding parallel compute capacity instead. Consumer PCs with multiple cores are now commonplace. We are at an inflection point where improved performance will no longer come from faster chips but rather from our ability as software developers to exploit concurrency. Understanding the concepts of concurrent programming and how to write concurrent code has therefore become a crucial part of writing successful software. With Concurrent Programming on Windows, Joe Duffy has done a great job explaining concurrent concepts from the fundamentals through advanced techniques. The detailed descriptions of algorithms and their interaction with the underlying hardware turn a complicated subject into something very approachable. This book is the perfect companion to have at your side while writing concurrent software for Windows.”

–Jason Zander, General Manager, Visual Studio, Microsoft

 

“When you begin using multi-threading throughout an application, the importance of clean architecture and design is critical. . . . This places an emphasis on understanding not only the platform’s capabilities but also emerging best practices. Joe does a great job interspersing best practices alongside theory throughout his book.”

– From the Foreword by Craig Mundie, Chief Research and Strategy Officer, Microsoft Corporation

 

Author Joe Duffy has risen to the challenge of explaining how to write software that takes full advantage of concurrency and hardware parallelism. In Concurrent Programming on Windows, he explains how to design, implement, and maintain large-scale concurrent programs, primarily using C# and C++ for Windows.

 

Duffy aims to give application, system, and library developers the tools and techniques needed to write efficient, safe code for multicore processors. This is important not only for the kinds of problems where concurrency is inherent and easily exploitable–such as server applications, compute-intensive image manipulation, financial analysis, simulations, and AI algorithms–but also for problems that can be speeded up using parallelism but require more effort–such as math libraries, sort routines, report generation, XML manipulation, and stream processing algorithms.

 

Concurrent Programming on Windows has four major sections: The first introduces concurrency at a high level, followed by a section that focuses on the fundamental platform features, inner workings, and API details. Next, there is a section that describes common patterns, best practices, algorithms, and data structures that emerge while writing concurrent software. The final section covers many of the common system-wide architectural and process concerns of concurrent programming.

 

This is the only book you’ll need in order to learn the best practices and common patterns for programming with concurrency on Windows and .NET.

 



About the Author

Joe Duffy is the development lead, architect, and founder of the Parallel Extensions to the .NET Framework team at Microsoft. In addition to hacking code and managing a team of developers, he works on long-term vision and incubation efforts, such as language and type system support for concurrency safety. He previously worked on the Common Language Runtime team. Joe blogs regularly at www.bluebytesoftware.com/blog.



See all Editorial Reviews

Product Details

  • Paperback: 1008 pages
  • Publisher: Addison-Wesley Professional; 1 edition (November 7, 2008)
  • Language: English
  • ISBN-10: 032143482X
  • ISBN-13: 978-1580087674
  • Product Dimensions: 9.1 x 7.1 x 2.2 inches
  • Shipping Weight: 3.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars See all reviews (13 customer reviews)
  • Amazon.com Sales Rank: #93,323 in Books (See Bestsellers in Books)

    Popular in these categories: (What's this?)

    #10 in  Books > Computers & Internet > Hardware > Parallel Processing Computers
    #18 in  Books > Computers & Internet > Databases > Distributed Databases
    #21 in  Books > Computers & Internet > Microsoft > Development > .NET

Inside This Book (learn more)


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

 

Customer Reviews

13 Reviews
5 star:
 (10)
4 star:
 (1)
3 star:
 (1)
2 star:
 (1)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.5 out of 5 stars (13 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
21 of 23 people found the following review helpful:
2.0 out of 5 stars Disappointing, January 26, 2009
I really wanted to like this book, but in the end I couldn't. It seems to me to be at least twice as long as it needs to be, extremely poorly and confusingly written, and a mish-mash of random odds and ends. I don't think the author has really worked out who his target audience is. Is it people who have a serious interest in the logic of concurrent programming - in which case you'd be better off reading the original papers by the likes of Dijkstra and Hoare, or the much much shorter book by Ben-Ari? Or is it aimed at people who want to write concurrent programs that work on Windows? In which case you'd be better off reading the much shorter book by Beveridge and Wiener.
Proof-reading and quality control is shoddy. For example, I have the distinct impression that at some point some-one has done a global replace of "task" with "thread" in the text, resulting in jibber-jabber such as "though it's highly unlikely that anybody reading this book will have to take on such a thread" on page 60, to cite one example out of several that I noticed.
Comment Comments (2) | Permalink | Was this review helpful to you? Yes No (Report this)



 
7 of 7 people found the following review helpful:
4.0 out of 5 stars One of the best books on the topic, March 4, 2009
I'll split my review into 3 parts:

Know what you get (book's goals): 4/10. The book is a bit "all over the place". It's hard to understand the intent of the book -- it's a bit too theoretical for a "pragmatic concurrent development" that it claims to be which makes the entire book a bit fuzzy and way too long. The problem with this kind of books that you usually can't read all (reading 800+ pages is too much for most people) and you're afraid of missing important parts.

Coverage: 9/10. This book is a great "ref" book in my bookshelf, it explains high level architecture to very deep bits&bytes usage in a very readable fashion. I've got a list of pages that I recommended every one of our developers to read, starting from basic things and dive into data structures, interesting pitfalls and solutions and specific tips & tricks that I found very interesting during my reading.

Relevance: 10/10. This is a must have book for windows developers (especially for .Net developers). It contains crucial basics with an amazing list of examples and best practices (need to be pulled out carefully, but it's there).

I'm still missing a well organized "common concurrent pitfalls & solutions" chapter for the pragmatic developers (assuming that the background exists).

All in all, I highly recommend this book! nice work!
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
4 of 5 people found the following review helpful:
5.0 out of 5 stars Everything about concurrency, and then some, April 2, 2009
By DEH (Boston, Ma) - See all my reviews
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...

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars 5 stars are not enough
Simply put, Joe Duffy is a world-wide authority on this topic. I don't just say that based on working with him (his office was 5 offices down the hall from mine), but also based... Read more
Published 1 month ago by Daniel Moth

3.0 out of 5 stars concurrent programming
good material for beginner and advanced threaded developer. concepts are easy to test compared to other materials on same concept.
Published 2 months ago by P. Marule

5.0 out of 5 stars A must for any Windows developer
Multithreading programming is hard and requires a lot of knowledge of the various platforms and a lot of concentration. Read more
Published 4 months ago by P. Greborio

5.0 out of 5 stars The definitive reference
No need for any other book about concurrent programming on .net. This book have everything you need to become a master in multi-thread programming on Microsoft .net framework. Read more
Published 4 months ago by Christiano C. Moraes

5.0 out of 5 stars Get it! Read it! Enjoy it!
Concurrent Programming on Windows (Microsoft .NET Development Series)
I think this book is probably the most important book on concurrent programming on Windows since Pham &... Read more
Published 4 months ago by Boaz Lev

5.0 out of 5 stars Concurrency Master
I follow Duffy's blog posts on concurrency and find it exceptionally informative. I haven't read the book, which I plan on purchasing in the future, but I believe that much of the... Read more
Published 5 months ago by Wesner Patrick Moise

5.0 out of 5 stars Must have book for anyone doing concurrency on Windows.
While there are many books on the mechanics of threading and synchronization this is the first book I have found that brings together the paradigm of parallelism and the mechanics... Read more
Published 5 months ago by D. Long

5.0 out of 5 stars Wow! A must read
I am not yet done reading the book entirely. However, it contains so much wealth of information, one can study each chapter for a month. Read more
Published 5 months ago by Roman Rozinov

5.0 out of 5 stars Right mix of theory and practice with lots of Win32, Vista, and .Net API Usage examples
This book has just the right mix of theory and practical advice to help one learn how to write safe and reliable concurrent applications for the Windows Platform. Read more
Published 6 months ago by Techie Evan

5.0 out of 5 stars Essential
Make no mistake about it, Joe's book on concurrent programming is essential reading for any Windows developer planning on continuing to code for work and pleasure over the next 10... Read more
Published 7 months ago by T. Kirby Green

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


Active discussions in related forums
   


Product Information from the Amapedia Community

Beta (What's this?)


So You'd Like to...

Create a guide

Look for Similar Items by Category


Discover Oregon

Garmin Oregon at Amazon.com
You'll find that on the trail, the new Garmin Oregons exchange waypoints, tracks, and geocaches with other Oregon and Colorado units.

Shop all Garmin

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Best Books

Best of the Month
See our editors' picks and more of the best new books on our Best of the Month page.
 

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Paranoia
Paranoia by Joseph Finder
Glenn Beck's Common Sense
Glenn Beck's Common Sense
Darkfever
Darkfever by Karen Marie Moning

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates