这书可当作Linux下C函数的一般查询手册吧。
对我来说最有价值的是第7章7.4节线程模式的讨论:
创建多线程应用的第一步也是最重要的一步就是确定线程模式,线程模式也是应用程序的逻辑处理和I/O的模式,可能存在很多抽象和实现细节,但两个核心的编程模式是:“每个连接对应一个线程”和“事件驱动”。
“每个连接对应一个线程”是一种编程模式,在该模式中,每个工作单元被分配给一个线程,而该线程在该工作单元执行期间,不会被分配给其他工作单元。工作单元是指如何分解应用的工作:请求、连接等。在这里,我们将“连接”作为描述该模式的通用术语。
描述该模式的另一种方式是“运行直到结束”。一个线程处理一个连接或请求,直到处理结束,这样线程就可以处理另一个新的请求。
之前在看Java写的Web容器的实现时总是纠结于请求、连接、线程这几个概念之间的关系,上面这两段对一种最简单的多线程处理请求的方式描述的已经足够清晰。
回想学Java时总是对文件操作的三种IO、多线程的API感到困惑,尤其是怪异的NIO文件读写方式,看过Linux系统实现之后就会明白所有这些实际是基于操作系统能够提供的原生调用的封装,是由“软件本质复杂性”决定他们只能提供这种并不怎么优雅的API出来,这算是初读系统编程的一点点小感想吧。
无法回避的软件本质复杂性
《LINUX系统编程》热门书评
-
不是APUE
13有用 0无用 [已注销] 2012-08-21
1.这本书页数不多。但侧重点也不多,从目录可以看出,它不像APUE一样,对*nix系统编程做了全面的描述。但对于书中所包含的IO,Memory,Process Control等系统都有较为深入的讲解。2.IO相关的章节是这本书的亮点3.与APUE相比,APUE更像是告诉你,事物究竟是什么,然后你来做...
-
中文电子版
4有用 0无用 interma 2009-05-04
http://linuxtoy.org/archives/linux-system-programming-chinese-edition.html...
-
压缩饼干~~
2有用 0无用 iLRainyday 2009-11-04
以前受到amazon上评论的影响,一直以为这就是本API Reference,所以买来后一直都没翻过。前几天偶然翻看,才发觉误会了。这不是类似APUE那种手把手教你的书,这本书中往往是用短短的一段话来陈述了一些概念背后的东西,注意,是“陈述”,没有循循善诱。所以看此书之前最好还是先把APUE看过,如...
-
翻译是渣,请不要看人民邮电的第二版!
1有用 0无用 maxy218 2016-07-02
仅拿我看到的,很小一部分翻译错误,来举例(整本书各种翻译问题数不胜数,不一一列举了):P202:SMT翻译成“同步线程”。SMT通常应该翻译成超线程,或者直接按字面意思翻译成“同时多线程”。“同步线程”通常指多线程的编程模型,完全两个维度的东西,相差十万八千里,很容易误导人。翻译成“同步线程”,感觉...
-
之前同事那边看到这书
0有用 2无用 fly2fire 2010-03-24
没觉得有多特别,后来发现LKD也是作者的作品,所以静下心来读,这书还是很不错的。买了一堆Unix编程的书,都没有好好读过。这次要看完这本。加油。...
书名: LINUX系统编程
作者: [美] Robert Love
出版社: 东南大学出版社
副标题: LINUX系统编程
译者: O'Reilly Taiwan公司
出版年: 2009-7
页数: 382
定价: 56.00元
ISBN: 9787564115197