Concurrent Programming on Windows and over 1.5 million other books are available for Amazon Kindle . Learn more

Buy New

or
Sign in to turn on 1-Click ordering.
Buy Used
Used - Very Good See details
Price: £24.53

or
Sign in to turn on 1-Click ordering.
 
   
Trade in Yours
For a £14.98 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Start reading Concurrent Programming on Windows on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Concurrent Programming on Windows: Architecture, Principles, and Patterns (Microsoft .Net Development) [Paperback]

Joe Duffy , Herb Sutter
4.0 out of 5 stars  See all reviews (5 customer reviews)
RRP: £38.99
Price: £34.31 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £4.68 (12%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want delivery by Friday, 24 May? Choose Express delivery at checkout. See Details

Formats

Amazon Price New from Used from
Kindle Edition £25.73  
Paperback £34.31  
Trade In this Item for up to £14.98
Trade in Concurrent Programming on Windows: Architecture, Principles, and Patterns (Microsoft .Net Development) for an Amazon.co.uk gift card of up to £14.98, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Book Description

28 Oct 2008 032143482X 978-0321434821 1

“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.


Frequently Bought Together

Concurrent Programming on Windows: Architecture, Principles, and Patterns (Microsoft .Net Development) + CLR via C# 3rd Edition
Price For Both: £65.89

One of these items is dispatched sooner than the other.

Buy the selected items together
  • CLR via C# 3rd Edition £31.58


Product details


More About the Author

Discover books, learn about writers, and more.

Product Description

Review

“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

From the Back Cover

“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.


Inside This Book (Learn More)
First Sentence
Concurrency is everywhere. Read the first page
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:


Customer Reviews

4.0 out of 5 stars
4.0 out of 5 stars
Most Helpful Customer Reviews
13 of 13 people found the following review helpful
Format:Paperback|Amazon Verified Purchase
There are a couple of things it is worth knowing about this book before you buy it. Firstly although it is in the .Net development series it is of far more use to those working in the unmanaged world, the second is that it is over 1000 pages in length and is not a reference book as much as a technical journey of discovery. You will need to read this cover to cover to get much out of it.

Although split into 4 sections you can really think of this as 2 books, sections 1 and 2 are a guide to threading on Windows, sections 3 and 4 cover concurrent programming techniques.

Even if you have been programming on Windows for years and consider yourself au-fait with threading you will be amazed at the breadth and depth of information in the guide to threading. There is low level detail on everything from thread local storage to thread pools (both managed and unmanaged) and a lot of coverage of additional kernal level functions available only to unmanaged developers working in Vista or Server 2008.
The book covers ways to utilise multiple CPU's, ways to measure utilisation and low level knowledge that one can apply to write perfomant code, having used many of the techniques myself they do work and it is eye opening quite how much faster you can make many sever operations. Maybe the most eye opening element is details on the re-ordering that compilers do, especially on 64bit processors, there is discussion of use of memory barriers to force operation ordering.
By now I am sure you get the impression, this is low level stuff, very useful to those working on c++ server code, possibly less applicable to most .Net developers.

The real flaw with the guide to threading section is that there is no adequate index or contents section and that each chapter does not contain a summary of what is covered, this makes using the book as a reference unnecessarily time consuming.

The concurrent programming techniques, section 3 and 4 and appendices, is a bit hit and miss in my opinion, there is a fine discussion of liveness hazards (deadlocks and livelock etc.) and low lock code, but some of the stuff on data / task parallelism seems a little simplistic for a book at this level. The last section on GUI development basically be summarised as don't do too much work on the GUI thread, which if you have got this far in the book I think you would know.

Although the concurrent programming techniques section is more applied than the first half of the book don't expect to lift many code samples from it, it's really not that kind of book.

To summarise, if you want to know the low level details of threading / parallelism on windows and you have a lot of time to read one then this is the book for you. If you want a multi-threading cookbook best look elsewhere.
Comment | 
Was this review helpful to you?
3 of 4 people found the following review helpful
5.0 out of 5 stars Everything you need to know. 9 May 2010
Format:Paperback
This book has everything and anything you may need to know about win32 threads. I am half way through it and I really love it. I will try to give the positives and the negatives as simple as I can.

Positives:
1. Gives you a very deep understanding of win32 threads
2. It is for both native and managed code
3. It explains all the APIs
4. It explains all the concurency theory
5. It has chapters for best used practises and patterns
6. It explains magnificently the thread pools
7. It has a chapter for fibers, which is bleeding edge thread theory

Negatives:
1. The book is vast and big ( on the other hand, not boring since every line has pCked information )
2. The book expects you to know win32 ( but I would say that is not negative, it is a fair assumption )

Just do yourself a favor and buy that book. I will try to come later with an update review, once I will finish reading it.
Comment | 
Was this review helpful to you?
4.0 out of 5 stars Great book, Must have for Windows Programmers 8 Mar 2011
By V. Koul
Format:Paperback|Amazon Verified Purchase
This book collects wealth of information about different topics from different sources and provide that to its readers in a very structured manner...
Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know
Most Recent Customer Reviews
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

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

Search Customer Discussions
Search all Amazon discussions
   
Related forums


Listmania!


Look for similar items by category


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges