Bookmark | Home |About Us |Shopping Cart

Search by any keyword or phrase
in item name or description


Concurrent Programming on Windows (Microsoft .NET Development Series)

Average Customer Rating: 5.0
Release Date: 2008-11-07
Publisher:Addison-Wesley Professional
Author Joe Duffy
Number of pages:1008
ISBN:032143482X
Language:Original Language: English; Unknown: English; Published: English;

Product Categories

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.

 

Customer reviews


« 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. It is organized into five parts. Part One consists of two introductory chapters on program state management concepts such as synchronization etc. Part Two discusses mechanisms available in the Windows Platform to support concurrent programming: from heavier-weight kernel objects such as Mutexes and Semaphores to lighter-weight and higher-level abstractions such as Monitors, Thread Pools, and Asynchronous Programming Models. Part Three delves into concurrency hazards (e.g., race conditions, deadlocks) to watch out for and data structures (e.g., parallel containers) and techniques that one can use for certain kinds of problems. Part Four culminates in detailed discussions of asynchronous mechanisms for dealing with potentially expensive I/O and GUI operations. Finally, Part Five consists of two appendices: The first appendix pulls together in one chapter all advice and recommendations mentioned in the book as well as additional guidelines for writing safe and reliable concurrent applications, and the second appendix briefly discusses the Parallel Extensions to .Net library. Although the author is more of a .Net expert, he gave roughly equal attention to Win32, Vista, and .Net APIs. The book provides a lot of code samples, which according to the author, would be available for download from the book's related website: http://www.bluebytesoftware.com/books (as of Dec. 18, however, this has not happened). Overall, I think the book is very well written and explains a lot of difficult concepts very well.
Rating: (5 out of 5) @ 2008-12-18
« 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 years. If you're learning parallel programming on Windows for the first time, or have been practicing it for years and *think* you know all about it then this book should high up your `must read' list. Joe's official position at Microsoft enables him to write with real authority and a sense of `rolled up sleeves engineering' on the subject. Personally speaking this is a book I will asking about in future when interviewing developers. Let's face it, when a book opens with praise from Chris Brumme you know you're in for an enlightening engineering read.
Rating: (5 out of 5) @ 2008-11-30
Quantity:
List Price: $49.99
Our Price: $36.87 (Save $13.12)
Availability: Usually ships in 1-2 business days


Featured Auctions

Technical Theater for Nontechnical People
Technical Theater for Nontechnical People
Price :
19.65 USD
Ends in :
14m 19s
Oliver White tractor2-105 Cab Technical ServiceManual
Oliver White tractor2-105 Cab Technical ServiceManual
Price :
19.99 USD
Ends in :
1h 43m 23s
Oliver White 2-135 155 tractor Technical ServiceManual
Oliver White 2-135 155 tractor Technical ServiceManual
Price :
19.99 USD
Ends in :
1h 49m 1s
Excelling at Technical Chess
Excelling at Technical Chess
Price :
23.09 USD
Ends in :
2h 3m 35s
Oliver White 2-135 155 tractor Technical ServiceManual
Oliver White 2-135 155 tractor Technical ServiceManual
Price :
19.99 USD
Ends in :
2h 40m 39s
Aliens Technical Manual CD
Aliens Technical Manual CD
Price :
10.99 USD
Ends in :
3h 9m 46s
Oliver White tractor2-105 Cab Technical ServiceManual
Oliver White tractor2-105 Cab Technical ServiceManual
Price :
19.99 USD
Ends in :
3h 16m 50s
Technical Analysis   Options Strategies SHALEEN Stocks
Technical Analysis Options Strategies SHALEEN Stocks
Price :
47.96 USD
Ends in :
3h 30m 40s