内容简介
本书主要讲述采用现代 C++ 在 x86-64 Linux 上编写多线程 TCP 网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即 one loop per thread。这是在 Linux 下以 native 语言编写用户态高性能网络程序最成熟的模式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本书以 muduo 网络库为例,讲解这种编程模型的使用方法及注意事项。本书的宗旨是贵精不贵多。掌握两种基本的同步原语就可以满足各种多线程同步的功能需求,还能写出更易用的同步设施。掌握一种进程间通信方式和一种多线程网络编程模型就足以应对日常开发任务,编写运行于公司内网环境的分布式服务系统。
AI简介
这是一本专注于Linux下多线程TCP网络服务程序开发的专业书籍。全书主要围绕C++多线程编程和muduo网络库进行讲解,旨在帮助读者掌握在Linux环境下使用C++编写高性能网络服务程序的方法和技巧。
书中首先介绍了线程安全的对象生命期管理,解释了如何确保在多线程环境下,对象的创建、使用和销毁过程不会引发竞态条件。接着,作者详细讲解了线程同步的四项原则,包括尽量最低限度地共享对象、使用高级的并发编程构件、只使用非递归的互斥器和条件变量以及慎用读写锁等。
在muduo网络库方面,作者详细介绍了muduo的目录结构、使用教程、性能评测以及详解与性能评测等内容。muduo网络库是一个高性能、易用的C++网络库,支持多线程编程和事件驱动,并且具有良好的性能。
此外,书中还提供了多个编程示例,包括文件传输示例、聊天服务器示例等,展示了如何在实际项目中应用muduo网络库。这些示例不仅可以帮助读者更好地理解muduo网络库的设计理念和编程模型,还可以为后续的网络编程打下坚实的基础。
在分布式系统架构设计方面,作者深入探讨了如何将一个大型系统拆分成多个小型的、可以独立运行的程序,并将这些程