From threading fundamentals and the C++ memory model to advanced features like coroutines, futures, promises, and task-based design, this book walks you through everything you need to create non-blocking, event-driven, and highly concurrent systems. You'll explore essential libraries like std:: thread, std:: async, and std:: atomic, as well as powerful frameworks such as Boost.Asio, RxCpp, and Folly Futures.
Designed for professional developers, system architects, and performance-minded engineers, this book balances practical examples with deep technical insights. Whether you're building desktop applications, servers, or real-time systems, you'll learn how to identify performance bottlenecks, implement scalable thread pools, manage async I/O, and architect reactive systems with confidence.
Key Topics Include:
Modern C++11-C++23 concurrency features
Threads, mutexes, and atomic operations
Futures, promises, and std:: async
C++20 coroutines and custom awaitables
Event loops, message queues, and state machines
Asynchronous I/O and non-blocking sockets
Task scheduling, thread pools, and work stealing
Reactive programming and stream processing
Designing robust, fault-tolerant, and scalable systems
Whether you're upgrading legacy systems or architecting new software from the ground up, Asynchronous Programming with C++ is your definitive guide to writing fast, responsive, and maintainable concurrent applications