ALP Chapter 4 线程(Threads)线程可以简单理解成为进程的下级。一个系统可以有多个进程,一个进程内部可以有多个线程。 回想上一章讲过的新进程的创建。先是fork,相当于拷贝了一个新的进程,然后调用exec,我们便有了两个毫不相关的进程。线程不一 样,当创建一个新的线程时,它和原来的线程是完全共享内存的。如果该线程修改了一个全局变量,则其他所有的线程读到的该变量的值都是修改后的。如果该线程 调用了exec,很不幸的...
ALP(Advanced linux Programming) Chapter 3 进程(Processes)什么叫进程?一个程序运行的一个实例称为一个进程(A RUNNING INSTANCE OF A PROGRAM IS CALLED A PROCESS) [color="#0000ff"]3.1进程的基本操作 进程的ID号 每个进程有一个唯一的ID号,叫做pid(Process ID)。 基本上每个进程都有一个父进程(单性繁殖),父进程的id是ppid (Parent Process ID)。当然也有例外,不然你告诉我最早的那个进程怎么来的? ID号的类型...
ALP Chapter 5 进程间通信(Interprocess Communication)这一章就是著名的IPC,这个东西实际的作用和它的名字一样普及。例如我们浏览网页,打印文章,等等。 IPC总共有五种类型: 共享内存(Shared Memory):最容易理解的一种,就像一个特工把情报放在特定地点(内存),另一个特工再过来取走一样。 内存映射(Mapped Memory):和共享内存几乎相同,除了特工们把地点从内存改成了文件系统。 管道(Pipes):从一个进程到另一个进程的有序...
这几天在看UNIX环境高级编程这本书,把里面的源代码编译了一下,出现了许多错误,网上也有不少方法可以解决,下面是我个人的解决方法。把以下的两个文件拷贝到系统的头文件位置(/usr/include)。 一个是"ourhdr.h",别外的一个是"myerr.h" 这两个文件的具体是内容是下面: “ourhdr.h": /* Our own header, to be included *after* all standard system headers */ #ifndef __ourhdr_h #define __ourhdr_h ...