Automotive Holiday Deals Up to 50% Off Select Books Shop Men's Athletic Shoes Learn more nav_sap_SWP_6M_fly_beacon Black Friday egg_2015 All-New Amazon Fire TV Grooming Deals Gifts Under $50 Amazon Gift Card Offer cm15 cm15 cm15 $30 Off Amazon Echo $15 Off All-New Fire Kindle Voyage Cyber Monday Video Game Deals Outdoors Gift Guide on HTL

Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

C++ Concurrency in Action: Practical Multithreading 1st Edition

29 customer reviews
ISBN-13: 860-1200915495
ISBN-10: 1933988770
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Sell yours for a Gift Card
We'll buy it for $16.63
Learn More
Trade in now
Have one to sell? Sell on Amazon
Buy used On clicking this link, a new layer will be open
$39.13 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$55.98 On clicking this link, a new layer will be open
More Buying Choices
42 New from $41.19 22 Used from $35.15
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Get Up to 80% Back Rent Textbooks
$55.98 FREE Shipping. In Stock. Ships from and sold by Gift-wrap available.

Frequently Bought Together

  • C++ Concurrency in Action: Practical Multithreading
  • +
  • Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
  • +
  • The C++ Programming Language, 4th Edition
Total price: $154.27
Buy the selected items together

Special Offers and Product Promotions

  • Take an Extra 30% Off Any Book: Use promo code HOLIDAY30 at checkout to get an extra 30% off any book for a limited time. Excludes Kindle eBooks and Audible Audiobooks. Restrictions apply. Learn more | Shop now

Editorial Reviews

About the Author

Anthony Williams is a UK-based developer and consultant with many years experience in C++. He has been an active member of the BSI C++ Standards Panel since 2001, and is author or coauthor of many of the C++ Standards Committee papers that led up to the inclusion of the thread library in the new C++ Standard, known as C++11 or C++0x. He has been the maintainer of the Boost Thread library since 2006, and is the developer of the just::thread implementation of the C++11 thread library from Just Software Solutions Ltd. Anthony lives in the far west of Cornwall, England.


Hero Quick Promo
Holiday Deals in Kindle Books
Save up to 85% on more than 1,000 Kindle Books. These deals are valid until November 30, 2015. Learn more

Product Details

  • Paperback: 528 pages
  • Publisher: Manning Publications; 1 edition (February 28, 2012)
  • Language: English
  • ISBN-10: 1933988770
  • ISBN-13: 978-1933988771
  • Product Dimensions: 7.4 x 1.1 x 9.2 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (29 customer reviews)
  • Amazon Best Sellers Rank: #55,091 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews

85 of 87 people found the following review helpful By Alexandros Gezerlis on March 8, 2012
Format: Paperback
"C++ Concurrency In Action: Practical Multithreading" by Anthony Williams is the first book to come out on multithreading and concurrency in the new C++. Williams is currently the primary developer and maintainer of the Boost.Thread library, a writer of many proposals for the C++11 thread library, and has for a while now provided (for a price) its first complete implementation (just::thread).

The Good: at long last C++ is thread-aware and this book shows the reader how to harness this newfound power. Williams starts out by introducing a number of thread-related concepts, like mutexes, condition variables, futures, promises, and atomics. This is an example-based book, so every new topic is fleshed out in code. Having introduced these concepts, the author goes on to apply them by designing lock-based concurrent data structures (a stack, a queue, a lookup table, and a linked list). Williams also shows how to use atomic operations to create lock-free stacks and queues. The book then examines more involved topics like thread pools (for which C++17 will probably have built-in support, though Williams doesn't venture a guess) and is rounded out by a welcome overview of how to identify deadlocks, livelocks, data races, and so on. Given the thematic breakup of the chapters, as well as the wealth of the material collected in the Appendices, this book will come in very handy as a reference. More specifically, Appendix B has a nice comparison of the new C++ multithreading facilities with Java threads, POSIX threads, and the Boost Thread library. Even better is Appendix D, a very useful 120-page reference of the C++11 thread library, which is more usable in digital form (as part of the ebook or the online version of the just::thread documentation).
Read more ›
4 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
24 of 27 people found the following review helpful By Annika K. Miller on August 3, 2013
Format: Paperback Verified Purchase
I am a fairly experienced C++ programmer, who is pretty new to concurrency, aside from the main basic ideas. I picked up this book to expand and deepen my understanding, and to consider using it as a classroom text. Overall, I find the book acceptable, but not impressive.

It is acceptable in that it does contain a *lot* of information, and the author clearly knows what he's talking about. I'm several chapters in and I feel that I am learning a lot about concurrency...both the issues, and how to address them using C++ 11.0 (and presumably eventually using Boost). So this is good.

Unfortunately he has a rather rambling style that does not engage the reader (or at least me). Although the chapters seem to provide a reasonable global organization for the information, each individual chapter is presented almost as a hodgepodge of ideas and examples with little flow. I find myself saying "is this critically important, or is this a rare exception he's pointing out for the sake of covering every possibility?"

In places, even individual paragraphs ramble and have a hard time getting to their point. For instance, he explains the rather simple concept of deadlock with a drawn out metaphor about two children wanting to play with a drum, but needing both the drum and the stick...and if one child has both, they can play merrily on their drum while the other looks on....but if one of them finds the drum and the other the stick, then neither can play unless *yawn* somebody gives in or...and it just goes on. I have nothing against metaphor; a Wikipedia site summarized the concept nicely by pointing out (in about two sentences) an old Kansas law that required two trains who meet one another head on to stop and neither may proceed until the other has passed. Nice.
Read more ›
3 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
13 of 14 people found the following review helpful By Scott Zimmerman on May 19, 2012
Format: Paperback Verified Purchase
I just finished reading this book--twice! The second half requires careful study to get the most out of it. This is really an OUTSTANDING piece of work. The writing is clear and all the code examples are precisely to the point. Virtually zero fluff in this entire book. You can only imagine how much work he put into designing and debugging the programs so that they are so clean. Well, I didn't notice any bugs in the code, but I didn't try to run them yet and his narrative shows that his attention to detail goes way beyond a quick code review.
Here are the things I liked most about this book: 1) it thoroughly uses C++11 features, including std::move, etc. 2) it's comphrehensive coverage of threading; and 3) it includes code and design discussion for a complete thread pool.
In my opinion there are only a few shortcomings: 1) The discussions of packaged_task, promise, spinlock, and fences/barries wasn't elaborate enough to help me really learn when/where to use these tools. Futures and async were covered thoroughly, but not these other topics. There was comment about spinlock unblocking the current thread that I didn't understand.
2) There are many places where the author/editor could have tied more narrative to the bullets in the code. That's a nifty feature of this book series, and it worked very well in this book, except that in some places it should have been done more. A couple of tricky lines of code had no comment, e.g. how the handle() function works in the message passing example. The chaining syntax is unusual and needs more explanation.
3) spinlock, and a few other topics, are not in the index.
4) It would be very helpful to see a brief example program that would report the relative performance of an analogous data structure class from the lock-based chapter vs. the lock-free chapter. This would give the reader a glimpse as to when the added complexity pays off.
I will keep this book for a long time :-)
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
C++ Concurrency in Action: Practical Multithreading
This item: C++ Concurrency in Action: Practical Multithreading
Price: $55.98
Ships from and sold by

Want to discover more products? Check out these pages to see more: multi-threading c++, parallel programming, pin action