aWhen 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 platformas capabilities but also emerging best practices. Joe does a great job interspersing best practices alongside theory throughout his book.a a 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 exploitableasuch as server applications, compute-intensive image manipulation, financial analysis, simulations, and AI algorithmsabut also for problems that can be speeded up using parallelism but require more effortasuch 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 youall need in order to learn the best practices and common patterns for programming with concurrency on Windows and .NET.If ita#39;s not possible, optimistic concurrency can sometimes be used. In the original code sample, say we had to do some lengthy operation at S0 that was based on the shared data we read from inside the lock. If we associate a version number with the list, which is incremented each time a thread modifies the list and if we validate it didna#39;t change once we ... One solution is to have all threads synchronize with one another to check whether any of the other tasks have finished, but thisanbsp;...
|Title||:||Concurrent Programming on Windows|
|Publisher||:||Pearson Education - 2008-10-28|