Professional Multicore Programming: Design and
Implementation for C++ Developers
In order to increase overall system performance, computer
manufacturers have opted to add more processors rather than
increase clock frequency. In turn, if you want an application to
benefit from the next new processor, that application will have to
be modified to exploit multiprocessor computers. This practical
book shifts the focus from sequential programming techniques to
parallel and multithreaded programming techniques and introduces
you to the everyday fundamentals of programming for multiprocessor
and multithreaded architectures.
This duo of experienced authors takes the complicated topics of
parallel processing and software concurrency and presents them in a
clear, understandable manner. Their no-nonsense approach to
programming multiprocessing and multithreading models, along with
numerous helpful examples, demonstrates how to execute successful
multicore programming and enables you to harness the power of the
new multicore processors to their fullest potential.
What you will learn from this book
-
The various pitfalls, traps, and challenges of concurrency
programming and synchronization
-
Methods and techniques for debugging and testing multicore
programming
-
How to take advantage of processor-specific features using
cross-platform techniques
-
The role of the operating system in multicore programming
-
Ways to take advantage of framework classes as building blocks
for concurrency
-
How to reduce the complexity of task synchronization and
communication through the use of interface classes
Who this book is for
This book is for developers of various skill levels who are making
the move into multicore programming and application
development.
Wrox Professional guides are planned and
written by working programmers to meet the real-world needs of
programmers, developers, and IT professionals. Focused and
relevant, they address the issues technology professionals face
every day. They provide examples, practical solutions, and expert
education in new technologies, all designed to help programmers do
a better job.