Асинхронный C++: полное руководство
Современные методы параллелизма, корутины и событийно-ориентированное программирование
Краткое содержимое:
Книга «Асинхронный C++: полное руководство» — это исчерпывающее практическое пособие по современным техникам асинхронного программирования на языке C++ с акцентом на стандарты C++20 и C++23. Автор, Алексей Воронов, senior-разработчик с 15-летним опытом создания высоконагруженных серверных решений, делится проверенными паттернами и лучшими практиками.
О чём эта книга?
Издание охватывает полный спектр тем — от основ событийно-ориентированной архитектуры до глубокого погружения в корутины C++20. Вы узнаете:
- Как работают корутины (co_await, co_yield, co_return) и как их применять для создания эффективных асинхронных потоков.
- Принципы построения event loop (циклов событий) на примере Boost.Asio и собственных реализаций.
- Разницу между futures, promises и std::async, а также когда каждый из них предпочтительнее.
- Техники работы с многопоточностью: мьютексы, lock-free структуры, атомарные операции.
- Обработку ошибок в асинхронном коде, избегание deadlock и race condition.
- Интеграцию асинхронного C++ с сетевыми протоколами (HTTP, WebSocket) и файловыми системами.
Для кого эта книга?
Книга рассчитана на middle и senior C++ разработчиков, которые хотят перейти от последовательного кода к высокопроизводительным асинхронным системам. Также будет полезна:
- Архитекторам ПО, проектирующим бэкенд для микросервисов и игровых серверов.
- Разработчикам встраиваемых систем, где важна детерминированность и низкое потребление памяти.
- Студентам старших курсов и аспирантам, изучающим параллельные вычисления.
Что вы узнаете после прочтения?
- Писать асинхронный код, который не блокирует поток выполнения, экономя ресурсы CPU.
- Строить собственные библиотеки для асинхронного ввода-вывода.
- Оптимизировать производительность приложений под многоядерные системы.
- Отлаживать и профилировать асинхронные программы с помощью современных инструментов.
Каждая глава содержит готовые примеры кода, которые можно запустить и модифицировать. Книга написана живым языком, с акцентом на практику, а не на сухую теорию. Если вы хотите вывести свои навыки C++ на новый уровень и научиться создавать быстрые, масштабируемые приложения — это руководство для вас.