-
Book Overview & Buying
-
Table Of Contents
Asynchronous Programming with C++
By :
Asynchronous Programming with C++
By:
Overview of this book
As hardware advancements continue to accelerate, bringing greater memory capacity and more CPU cores, software must evolve to adapt to efficiently use all available resources and reduce idle CPU cycles. In this book, two seasoned software engineers with about five decades of combined experience will teach you how to implement concurrent and asynchronous solutions in C++.
You’ll gain a comprehensive understanding of parallel programming paradigms—covering concurrent, asynchronous, parallel, multithreading, reactive, and event-driven programming, as well as dataflows—and see how threads, processes, and services are related. Moving into the heart of concurrency, the authors will guide you in creating and managing threads and exploring C++’s thread-safety mechanisms, including mutual exclusion, atomic operations, semaphores, condition variables, latches, and barriers. With this solid foundation, you’ll focus on pure asynchronous programming, discovering futures, promises, the async function, and coroutines. The book takes you step by step through using Boost.Asio and Boost.Cobalt to develop network and low-level I/O solutions, proven performance and optimization techniques, and testing and debugging asynchronous software.
By the end of this C++ book, you’ll be able to implement high-performance software using modern asynchronous C++ techniques.
Table of Contents (21 chapters)
Preface
Part 1:Foundations of Parallel Programming and Process Management
Chapter 1: Parallel Programming Paradigms
Chapter 2: Processes, Threads, and Services
Part 2: Advanced Thread Management and Synchronization Techniques
Chapter 3: How to Create and Manage Threads in C++
Chapter 4: Thread Synchronization with Locks
Chapter 5: Atomic Operations
Part 3: Asynchronous Programming with Promises, Futures, and Coroutines
Chapter 6: Promises and Futures
Chapter 7: The Async Function
Chapter 8: Asynchronous Programming Using Coroutines
Part 4: Advanced Asynchronous Programming with Boost Libraries
Chapter 9: Asynchronous Programming Using Boost.Asio
Chapter 10: Coroutines with Boost.Cobalt
Part 5: Debugging, Testing, and Performance Optimization in Asynchronous Programming
Chapter 11: Logging and Debugging Asynchronous Software
Chapter 12: Sanitizing and Testing Asynchronous Software
Chapter 13: Improving Asynchronous Software Performance
Index