Fr. 106.00

Going Multicore with C++ - Asynchronous and Parallel Programming using C++11

English · Paperback / Softback

Shipping usually within 3 to 5 weeks

Description

Read more










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.


List of contents










1. Introduction to Concurrent Programming2. A Quick Tour of C++11 from a Concurrency Perspective3. The Modern Computer System4. Threading in C++115. Avoiding the Dangers of Concurrency6. Async and Futures in C++117. Working with Concurrent Programs8. Some (helpful) Patterns9. Some (early) Best Practices


Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.