Multicore Application Programming is a comprehensive, practical guide to high-performance multicore programming that any experienced developer can use.
Author Darryl Gove covers the leading approaches to parallelization on Windows, Linux, and Oracle Solaris. Through practical examples, he illuminates the challenges involved in writing applications that fully utilize multicore processors, helping you produce applications that are functionally correct, offer superior performance, and scale well to eight cores, sixteen cores, and beyond.
 
The book reveals how specific hardware implementations impact application performance and shows how to avoid common pitfalls. Step by step, you'll write applications that can handle large numbers of parallel threads, and you'll master advanced parallelization techniques. You'll learn how to
 
Identify your best opportunities to use parallelism
Share data safely between multiple threads
Write applications using POSIX or Windows threads
Hand-code synchronization and sharing
Take advantage of automatic parallelization and OpenMP
Overcome common obstacles to scaling
Apply new approaches to writing correct, fast, scalable parallel code
Multicore Application Programming isn't wedded to a single approach or platform: It is for every experienced C programmer working with any contemporary multicore processor in any leading operating system environment.