Home
:
Book details
:
Book description
Description of
Asynchronous Programming with C++: Build blazing-fast software with multithreading and asynchronous programming for ultimate efficiency
B0DMTDKZWV pdf + code B0DMTDKZWV pdf B0DMTDKZWV pdf Design and develop high-performance software solutions by using concurrent and asynchronous techniques provided by the most modern features in C++20 and C++23Key FeaturesLearn how to use modern C++ features, including futures, promises, async, and coroutines to build asynchronous solutionsLearn how to use modern C++ features, including futures, promises, async, and coroutines to build asynchronous solutionsDevelop cross-platform network and low-level I/O projects with Boost.AsioDevelop cross-platform network and low-level I/O projects with Boost.AsioMaster optimization techniques by understanding how software adapts to machine hardwareMaster optimization techniques by understanding how software adapts to machine hardwarePurchase of the print or Kindle book includes a free PDF eBookPurchase of the print or Kindle book includes a free PDF eBookBook DescriptionAs 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.What you will learnExplore the different parallel paradigms and know when to apply themExplore the different parallel paradigms and know when to apply themAcquire deep knowledge of thread management and safety mechanismsAcquire deep knowledge of thread management and safety mechanismsUnderstand asynchronous programming in C++, including coroutinesUnderstand asynchronous programming in C++, including coroutinesLeverage network asynchronous programming by using Boost.Asio and Boost.CobaltLeverage network asynchronous programming by using Boost.Asio and Boost.CobaltAdd proven performance and optimization techniques to your toolboxAdd proven performance and optimization techniques to your toolboxFind out how to test and debug asynchronous softwareFind out how to test and debug asynchronous softwareWho this book is forThis book is for developers who have some experience using C++, regardless of their professional field. If you want to improve your C++ skills and learn how to develop high-performance software using the latest modern C++ features, this book is for you.Table of ContentsParallel Programming ParadigmsParallel Programming ParadigmsProcesses, Threads, and ServicesProcesses, Threads, and ServicesHow to Create and Manage Threads in C++How to Create and Manage Threads in C++Thread Synchronization with LocksThread Synchronization with LocksAtomic OperationsAtomic OperationsPromises and FuturesPromises and FuturesThe Async FunctionThe Async FunctionAsynchronous Programming Using CoroutinesAsynchronous Programming Using CoroutinesAsynchronous Programming Using Boost.AsioAsynchronous Programming Using Boost.AsioCoroutines with Boost.CobaltCoroutines with Boost.CobaltLogging and Debugging Asynchronous SoftwareLogging and Debugging Asynchronous SoftwareSanitizing and Testing Asynchronous SoftwareSanitizing and Testing Asynchronous SoftwareImproving Asynchronous Software PerformanceImproving Asynchronous Software Performance