【APUE】Chapter11 Threads】的更多相关文章

看完了APUE第三版的Chapter11 Threads,跟着书上的demo走了一遍,并且参考了这个blog(http://www.cnblogs.com/chuyuhuashi/p/4447817.html)的非常好的example. 下面的内容就是看书过程中记录的,可以作为一个参考,但决不能代替看APUE原著. 本来想在自己的mac上跑(毕竟也叫unix系统),后来发现mac上有些pthread的库支持的不全(比如,没有barrier),就改到了centos server上跑. (一)Thr…
Signal主要分两大部分: A. 什么是Signal,有哪些Signal,都是干什么使的. B. 列举了非常多不正确(不可靠)的处理Signal的方式,以及怎么样设计来避免这些错误出现. 10.2 Signal Concepts 1. Signal的实体就是在头文件中定义的正整数(在我使用的linux系统中在/usr/include/bits/signum.h中),如下: 2. 列举了可能会产生Signal的条件: (1)终端的user的案件操作:如,Ctrl+c,Ctrl+\:由termin…
今天看了APUE的Chapter12 Thread Control的内容,记录一下看书的心得与示例code. 这一章的内容是对Chapter11 Threads(见上一篇日志)的补充,大部分内容都是理论上的分析提点,大概就是告诉读者:你先知道pthread有这么个特性,如果将来遇到了可以去查查. (一)Thread Limits 这里主要介绍了pthread_attr_t的属性变量,可以通过设置属性变来定制化threads的特性(P426). 其中,一个重要的属性就是thread的stack s…
14.1 Introduction 这一章介绍的内容主要有nonblocking I/O, record locking, I/O multiplexing, asynchronous I/O, the readv and writev, memory-mapped I/O 这一章是后面章节的基础,也就是说先当成基础记着,在后面的实操应用章节再去体会. 14.2 Nonblocking I/O "blocking"主要针对slow system call,含义是“the slow sy…
这章节内容比较紧凑,主要有5部分: 1. 守护进程的特点 2. 守护进程的构造步骤及原理. 3. 守护进程示例:系统日志守护进程服务syslogd的相关函数. 4. Singe-Instance 守护进程. 5. 其他相关内容 1. 守护进程的特点 守护进程也是unix系统中的一种进程.有大量的系统守护进程,其最主要的特点有两个: (1)系统启动的时候守护进程就跟着起来:只有当系统关闭的时候守护进程才跟着关闭 (2)没有controlling terminal,运行在background 直观上…
这一章内容是Process的基础准备篇章.这一章的内容都是基于C Programm为例子. (一)进程开始: kernel → C start-up rountine → main function 其中C start-up rountine做的事情中包括:获得command-line arguments & environment 好像还有其他的事情,后面再说. (二)进程结束: 五种normal termination方式: 1. return from main 2. exit 3. _e…
Android编程中一个共同的困难就是协调Activity的生命周期和长时间运行的任务(task),并且要避免可能的内存泄露.思考下面Activity的代码,在它启动的时候开启一个线程并循环执行任务. /** * 一个展示线程如何在配置变化中存活下来的例子(配置变化会导致创 * 建线程的Activity被销毁).代码中的Activity泄露了,因为线程被实 * 例为一个匿名类实例,它隐式地持有外部Activity实例,因此阻止Activity * 被回收. */ public class Mai…
17.1 Introduction 这一章主要讲了UNIX Domain Sockets这样的进程间通讯方式,并列举了具体的几个例子. 17.2 UNIX Domain Sockets 这是一种特殊socket类型,主要用于高效的IPC,特点主要在于高效(因为省去了很多与数据无关的格式的要求). int socketpair(int domain, int type, int protocol, int sockfd[2]) 这个函数用于构建一对unix domain sockets:并且与之前…
16.1 Introduction Chapter15讲的是同一个machine之间不同进程的通信,这一章内容是不同machine之间通过network通信,切入点是socket. 16.2 Socket Descriptors socket抽象上是一个communication endpoint,具体就是一个int型变量.生成socket的函数如下: int socket(int domain, int type, int protocol) 函数有点儿类似open,即打开一个socket d…
15.1 Introduction 这部分太多概念我不了解.只看懂了最后一段,进程间通信(IPC)内容被组织成了三个部分: (1)classical IPC : pipes, FIFOs, message queues, semaphores, and shared memory (2)network IPC : sockets mechanism (3)advanced features of IPC 15.2 Pipes Pipes是“the oldest form of UNIX Syst…