Linux多线程服务端编程

陈硕

出版时间

2013-01-14

ISBN

9787121192821

评分

★★★★★

标签

编程

书籍介绍
这并不是一本按部就班的多线程入门教程。翻开它,你会先被抛进一个棘手的问题:对象创建很简单,可销毁为什么这么难?正是这种“从真实困境出发”的写法,构成了全书最鲜明的气质。作者以 muduo 网络库为线索,把线程安全、对象生命期、同步原语、网络编程、分布式系统设计乃至面试与工作方法编织在一起,知识覆盖面很广,但也正因如此,有人觉得它脉络松散、像作者的博客精选集。它适合那些不满足于“调用API”、愿意追问并发底层原理、并习惯带着批判眼光阅读的读者;若期待一本结构严整、循序渐进的规范教材,或许会感到失望。
作者简介
陈硕,北京师范大学硕士,擅长C++ 多线程网络编程和实时分布式系统架构。曾在摩根士丹利IT 部门工作5 年,从事实时外汇交易系统开发。现在在美国加州硅谷某互联网大公司工作,从事大规模分布式系统的可靠性工程。编写了开源C++ 网络库muduo,参与翻译了《代码大全( 第2 版)》和《C++ 编程规范(繁体版)》,整理了《C++ Primer (第4 版)(评注版)》,并曾多次在各地技术大会演讲。
精彩摘录
  • "析构动作在创建时被捕获 这是一个非常有用的特性,这意味着: 虚析构不再是必需的 shared_ptr<void>可以持有任何对象,而且能够安全地释放。 shared_ptr对象可以安全地跨越模块边界,比如从dll里返回,而不会造成从模块A分配的内存在模块B里被释放这种错误。 二进制兼容性,即便Foo对象的大小变了,那么旧的客户代码依然可以使用新的动态库,而无需重新编译。前提是Foo的头文件中不会访问对象的成员的inline函数,并且Foo对象的由动态库中的Factory构造,返回其shared_ptr。 析构函数可以定制"
  • "析构所在的线程 对象的析构是同步的,当最后一个指向x的shared_ptr离开其作用域的时候,x会同时在同一个线程析构。这个线程不一定是对象诞生的线程。"
目录
第1 部分C++ 多线程系统编程1
第1章 线程安全的对象生命期管理3
1.1 当析构函数遇到多线程. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 线程安全的定义. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 MutexLock 与MutexLockGuard . . . . . . . . . . . . . . . . . . . . 4

显示全部
用户评论
: TP316.85/7216-1
虽然内容不错,但作者的写作手法不是很认同,一点小问题,写得太夸张,小题大做的感觉!
略口水
哎这么好的书我怎么能没“读过』!?
书中参考文献只有6本没读过……但是跟chenshuo的工程功底比起来,真的是吹牛派跟实践派的差距
基本人手一本吧&lt;(`^´)&gt;
作者多年的网络编程经验让我学到很多, 收益匪浅。可惜,这本书更类似个人博客总结,没有结构化地进行排版,知识点杂乱无章,读起来不大舒服。
2021.12.13 终于读完前三章,内容十分丰富,语言浅白,受益匪浅。还是有很多看不懂,但是越看会越通透的感觉。书写得很好。 2021,12,16,连滚带爬的学完了第八章,所谓的豁然开朗不过是暂时性的清醒和持续性的迷糊。 2021.12.20 读完前十一章。
太惭愧了,买了这本书7年多了才真正把它读完。正如作者所说,这本书适合有较好基础或者有相关工作经验的人读。其中讲到的东西确实有很多是从事相关工作时会遇到的问题,而且很多是让人头疼的问题。比如作者一直强调的基于对象而不是面向对象这一点,我是非常赞同的。 虽然副标题叫做《使用muduo C++ 网络库》,其实真正介绍这个库的内容并不是很多。作者在书中花了很多篇幅去介绍C++多线程会遇到的问题和解决方案,并且对于各种方案的优劣都做了自己的对比,这些心得和经验很少能在一般的书籍中获得。 即使这本书有很多内容是从作者的博客录入的,但里面对于各种引用的来源都附上了地址或者书名,这一点可以说是非常难能可贵。如果能认认真真再把相关的引用看完,那读这本书的收获就真的非常大了。
书是好书,但是也能从书里看出作者的油腻。。。。。
下载
收藏