
作者:陈硕
页数:600
出版社:电子工业出版社
出版日期:2013
ISBN:9787121192821
电子书格式:pdf/epub/txt
内容简介
本书主要讲述采用现代 c++ 在 x86-64 linux 上编写多线程 tcp
网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即 one loop per thread。这是在
linux 下以 native 语言编写用户态高性能网络程序最成熟的模式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本书以
muduo
网络库为例,讲解这种编程模型的使用方法及注意事项。本书的宗旨是贵精不贵多。掌握两种基本的同步原语就可以满足各种多线程同步的功能需求,还能写出更易用的同步设施。掌握一种进程间通信方式和一种多线程网络编程模型就足以应对日常开发任务,编写运行于公司内网环境的分布式服务系统。
作者简介
陈硕,北京师范大学硕士,擅长C++
多线程网络编程和实时分布式系统架构。曾在摩根士丹利IT
部门工作5
年,从事实时外汇交易系统开发。现在在美国加州硅谷某互联网大公司工作,从事大规模分布式系统的可靠性工程。编写了开源C++
网络库muduo,参与翻译了《代码大全(第2
版)》和《C++
编程规范(繁体版)》,整理了《C++
Primer (第4
版)(评注版)》,并曾多次在各地技术大会演讲。
相关资料
本书主要讲述采用现代c++ 在x86-64 linux
上编写多线程tcp 网络服务程序的主流常规技术,这也是我对过去5 年编写生产环境下的多线程服务端程序的经验总结。本书重点讲解多线程网络服务器的一种io 模型,即one loop per
thread。这是一种适应性较强的模型,也是linux 下以native 语言编写用户态高性能网络程序最成熟的模式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本书以muduo网络库为例,讲解这种编程模型的使用方法及注意事项。
本书特色
示范在多核时代采用现代c++ 编写
多线程tcp 网络服务器的正规做法
目录
第 1 章 线程安全的对象生命期管理
1.1 当析构函数遇到多线程
1.1.1 线程安全的定义
1.1.2 mutexlock 与 mutexlockguard
1.1.3 一个线程安全的 counter 示例
1.2 对象的创建很简单
1.3 销毁太难
1.3.1 mutex 不是办法
1.3.2 作为数据成员的 mutex 不能保护析构
1.4 线程安全的 observer 有多难
1.5 原始指针有何不妥
1.6 神器 shared_ptr/weak_ptr
1.7 插曲:系统地避免各种指针错误
1.8 应用到 observer 上















