“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 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.
Very deep coverage of both native and managed threading on Windows. Joe covers high level mechanisms like the .NET BackgroundWorker right down to lock-free techniques and processor specific instruction reordering. The only nit is that the book needed a bit more proofreading... one chapter evidently had a global search and replace from Process to Task and there are plenty of typos. Still very highly recommended to anyone writing concurrent code.
Nejlepší kniha o asynchronním/vícevláknovém/konkurenčním programování ve Windows v nativním i managed kódu.
Ani nevadí, že kniha je už poněkud staršího data, a proto je výklad o nějaké preview verzi TPL pouze v příloze a o RX ani PPL (nativní kód) se nedovíte nic. Se znalostí postupů, principů a doporučení z této knihy je ale osvojení si všech výše zmíněných knihoven triviální úkol.
Mrzí mě jen to, že jsem o této knize nevěděl dříve, protože by mi ušetřila spousta času, který jsem strávil hledáním a spojováním kusých informací z MSDN a experimentováním s některými zvláštními rysy např. IO completion portů.
Knize jsem dal 5 hvězdiček, i když by si zasloužila tak 4,5 - kvůli několika nepříjemným chybám ve výpisech kódu, které mohly být alespoň v Kindle verzi knihy už dávno opraveny.