Going Multicore with C++

1st Edition

Asynchronous and Parallel Programming using C++11


  • Joe Hummel
  • Print book


     Not Yet Available

    Pre Order


    Going Parallel with C++ is designed for undergraduate students or developers who need to learn the key skill of parallel programming. Both hardware and software are increasingly dependent on parallel computing techniques – every modern computer is a multicore, and key applications – big data, computational science, cloud computing, mobile computing, image processing, games, modeling and more – are all inherently parallel. Educators are now teaching parallel computing earlier in the CS curriculum and are searching for resources that approach it as a fundamental skill rather than a secondary discipline that only comes after traditional, linear programming skills.

    Concurrency expert Joe Hummel explains not only parallel computing but also the new functions implemented with platform-neutral C++11 (released in 2011) that make it the platform of choice poised to replace outdated, proprietary tools. All major C++ compilers are moving to support the new features of C++11. Hummel takes a demo-oriented approach, with numerous examples that give the book a practical feel as opposed to more theoretical competitors. To facilitate adoption for courses, the book will include exercises built from the examples, solutions, and working source code on an ancillary page.

    Key Features

    • For readers familiar with C++, wanting to learn parallel computing and understand the new, parallel features of C++ 11
    • The most practical parallel computing textbook, illustrating each concept with concrete, realistic examples and example-driven exercises to test learning
    • Learn the skills needed to develop parallel-dependent applications including big data, cloud computing, image processing, mobile computing, games, and more
    • Download source code, examples, and instructor support materials on the book's companion page


    Professional developers or hobbyists interested in parallel, multicore CPU programming in C++, as well as undergrad students studying these disciplines. Presumes some C++ but not any background in parallel computing. Instructors who declined to adopt Pacheco may prefer Hummel.

    Table of Contents

    1. Introduction to Concurrent Programming

    2. A Quick Tour of C++11 from a Concurrency Perspective

    3. The Modern Computer System

    4. Threading in C++11

    5. Avoiding the Dangers of Concurrency

    6. Async and Futures in C++11

    7. Working with Concurrent Programs

    8. Some (helpful) Patterns

    9. Some (early) Best Practices


    No. of pages:
    © 2018
    Morgan Kaufmann
    Print ISBN:
    Electronic ISBN: