Linux多线程服务端编程。本书主要讲述采用现代 C++ 在 x86-64Linux 上编写多线程 TCP 网络服务程序的 主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即 one loop per thread。这是在 Linux 下以 native 语言编写用户态高性能网络程序最成熟的模 式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本书以 muduo 网络库 为例,讲解这种编程模型的使用方法及注意事项。
本书分为四大部分,第 1 部分“C++ 多线程系统编程”考察多线程下的对象生 命期管理、线程同步方法、多线程与 C++ 的结合、高效的多线程日志等。第 2 部 分“muduo 网络库”介绍使用现成的非阻塞网络库编写网络应用程序的方法,以及 muduo 的设计与实现。第 3 部分“工程实践经验谈”介绍分布式系统的工程化开发 方法和 C++ 在工程实践。本书适用的硬件环境是主流 x86-64 服务器,多路多核 CPU、几十 GB 内存、千 兆以太网互联。除了第 5 章讲诊断日志之外,本书不涉及文件 IO。