0 0 0

Linux多线程服务端编程:使用muduo C++网络库.epub

你无所谓我
9天前 200
我用夸克网盘分享了「Linux多线程服务端编程:使用muduo C++网络库.epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
Linux多线程服务端编程 作者: 陈硕 出版社: 电子工业出版社 出品方: 博文视点 副标题: 使用muduo C++网络库 出版年: 2013-1 页数: 610 定价: 89.00元 装帧: 平装 ISBN: 9787121192821

内容简介

本书主要讲述采用现代C++ 在x86-64 Linux 上编写多线程TCP 网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。这是在Linux 下以native 语言编写用户态高性能网络程序最成熟的模式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本书以muduo 网络库为例,讲解这种编程模型的使用方法及注意事项。 本书的宗旨是贵精不贵多。掌握两种基本的同步原语就可以满足各种多线程同步的功能需求,还能写出更易用的同步设施。掌握一种进程间通信方式和一种多线程网络编程模型就足以应对日常开发任务,编写运行于公司内网环境的分布式服务统。

作者简介

陈硕,北京师范大学硕士,擅长C++ 多线程网络编程和实时分布式系统架构。曾在摩根士丹利IT 部门工作5 年,从事实时外汇交易系统开发。现在在美国加州硅谷某互联网大公司工作,从事大规模分布式系统的可靠性工程。编写了开源C++ 网络库muduo,参与翻译了《代码大全( 第2 版)》和《C++ 编程规范(繁体版)》,整理了《C++ Primer (第4 版)(评注版)》,并曾多次在各地技术大会演讲。

网友热评

hpcx: 非常感谢陈硕同学寄来的书,其实不少内容在博客上都分享过,品质精良。仔仔细细的通读了一遍,学到的面其实很广:C++,多线程,Linux下的网络编程,分布式系统,协议的设计,面试,工作方法,代码标准。。。 陈硕可能仅仅年长我一岁,但是其技术水平不知高我几个档次了。 遗憾的是这次虽然仔仔细细的读了下来,但并没有着手时间。鉴于对数据分析的兴趣,相信之后在涉及到分布式计算的时候还会重拾本书。 黑白点点: 因为选入了很多博客上的文章,书的结构比较零散。如果把boost换成C++11就爽多了~虽然不完美,但是很多实践经验,非常好的书!

图书目录

前言 第1部分C++多线程系统编程 第1章线程安全的对象生命期管理 1.1当析构函数遇到多线程 1.2对象的创建很简单 1.3销毁太难 1.4线程安全的Obschmerver有多难 1.5原始指针有何不妥 1.6神器shared_ptr/weak_ptr 1.7插曲:系统地避免各种指针错误 1.8应用到Obschmerver上 1.9再论shared_ptr的线程安全 1.10shared_ptr技术与陷阱 1.11对象池 1.12替代方案 1.13心得与小结 1.14Obschmerver之谬 第2章线程同步精要 2.1互斥器(mutex) 2.2条件变量(conditionvariable) 2.3不要用读写锁和信号量 2.4封装MutexLock、MutexLockGuard、Condition 2.5线程安全的Singleton实现 2.6sleep(3)不是同步原语 2.7归纳与总结 2.8借shared_ptr实现copy-on-write 第3章多线程服务器的适用场合与常用编程模型 3.1进程与线程 3.2单线程服务器的常用编程模型 3.3多线程服务器的常用编程模型 3.4进程间通信只用TCP 3.5多线程服务器的适用场合 3.6“多线程服务器的适用场合”例释与答疑 第4章C++多线程系统编程精要 4.1基本线程原语的选用 4.2C/C++系统库的线程安全性 4.3Linux上的线程标识 4.4线程的创建与销毁的守则 4.5善用__thread关键字 4.6多线程与IO 4.7用RAII包装文件描述符 4.8RAII与fork() 4.9多线程与fork() 4.10多线程与signal 4.11Linux新增系统调用的启示 小结 第5章高效的多线程日志 5.1功能需求 5.2性能需求 5.3多线程异步日志 5.4其他方案 第2部分muduo网络库 第6章muduo网络库简介 6.1由来 6.2安装 6.3目录结构 6.4使用教程 6.5性能评测 6.6详解muduo多线程模型 第7章muduo编程示例 7.1五个简单TCP示例 7.2文件传输 7.3Boost.Asio的聊天服务器 7.4muduoBuffer类的设计与使用 7.5一种自动反射消息类型的Protobuf网络传输方案 7.6在muduo中实现Protobuf编解码器与消息分发器 7.7限制服务器的最大并发连接数 7.8定时器 7.9测量两台机器的网络延迟和时间差 7.10用timingwheel踢掉空闲连接 7.11简单的消息广播服务 7.12“串并转换”连接服务器及其自动化测试 7.13socks4a代理服务器 7.14短址服务 7.15与其他库集成 第8章muduo网络库设计与实现 8.0什么都不做的EventLoop 8.1Reactor的关键结构 8.2TimerQueue定时器 8.3EventLoop::runInLoop()函数 8.4实现TCP网络库 8.5TcpServer接受新连接 8.6TcpConnection断开连接 8.7Buffer读取数据 8.8TcpConnection发送数据 8.9完善TcpConnection 8.10多线程TcpServer 8.11Connector 8.12TcpClient 8.13epoll 8.14测试程序一览 第3部分工程实践经验谈 第9章分布式系统工程实践 9.1我们在技术浪潮中的位置 9.2分布式系统的可靠性浅说 9.3分布式系统中心跳协议的设计 9.4分布式系统中的进程标识 9.5构建易于维护的分布式程序 9.6为系统演化做准备 9.7分布式程序的自动化回归测试 9.8分布式系统部署、监控与进程管理的几重境界 第10章C++编译链接模型精要 10.1C语言的编译模型及其成因 10.2C++的编译模型 10.3C++链接(linking) 10.4工程项目中头文件的使用规则 10.5工程项目中库文件的组织原则 第11章反思C++面向对象与虚函数 11.1朴实的C++设计 11.2程序库的二进制兼容性 11.3避免使用虚函数作为库的接口 11.4动态库接口的推荐做法 11.5以boost::function和boost::bind取代虚函数 11.6iostream的用途与局限 11.7值语义与数据抽象 第12章C++经验谈 12.1用异或来交换变量是错误的 12.2不要重载全局::operatornew() 12.3带符号整数的除法与余数 12.4在单元测试中mock系统调用 12.5慎用匿名namespace 12.6采用有利于版本管理的代码格式 12.7再探std::string 12.8用STLalgorithm轻松解决几道算法面试题 第4部分附录 附录A谈一谈网络编程学习经验 A.1网络编程的一些“胡思乱想” A.2三本必看的书 附录B从《C++Primer(第4版)》入手学习C++ B.1为什么要学习C++ B.2学习C++只需要读一本大部头 B.3继续前进 B.4评注版使用说明 附录C关于Boost的看法 附录D关于TCP并发连接的几个思考题与试验 参考文献

Linux多线程服务端编程:使用muduo

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件76556431@qq.com投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 集市漫过街巷
  • 不爱我拉倒啦
  • 小裙摆
  • 不娇不傲我的范
  • 爱了淡了
  • 淡漠了执着
  • 误把大姨妈当初夜
  • 别装帅比做你自己
  • 折腾
  • 叹息的风
  • 沙漠狼
  • 记忆犹如暖风
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!