To Kim, Hugh, and Erin
Copyright
Brief Table of Contents
Table of Contents
Preface
Acknowledgments
About This Book
About the Cover Illustration
Chapter 1. Hello, world of concurrency in C++!
Chapter 2. Managing threads
Chapter 3. Sharing data between threads
Chapter 4. Synchronizing concurrent operations
Chapter 5. The C++ memory model and operations on atomic types
Chapter 6. Designing lock-based concurrent data structures
Chapter 7. Designing lock-free concurrent data structures
Chapter 8. Designing concurrent code
Chapter 9. Advanced thread management
Chapter 10. Testing and debugging multithreaded applications
Appendix A. Brief reference for some C++11 language features
Appendix B. Brief comparison of concurrency libraries
Appendix C. A message-passing framework and complete ATM example
Appendix D. C++ Thread Library reference
Resources
Index
List of Figures
List of Tables
List of Listings
1.1. What is concurrency?
1.1.1. Concurrency in computer systems
1.1.2. Approaches to concurrency
1.2. Why use concurrency?
1.2.1. Using concurrency for separation of concerns
1.2.2. Using concurrency for performance