进程和线程
计算机是完成特定任务的工具,我们把特定的任务称为task。最早的计算机是单task系统,需要手动装载,启动task的程序,所有的资源由该task独占,一个task完成后才能启动下一个task。操作系统的一个重要功能是管理task,为task分配系统资源。进程是操作系统分配资源和调度task的基本单位。 进程是一个具有一定独特功能的程序在一个数据集合上的一次动态执行。进程由代码块(静态,二进制),数据集,进程控制块(动态)三部分组成。进程概念的引入是为了便于理解操作系统对task管理。进程是操作系统为task分配系统资源的基本单位,也是task调度的基本单位。 线程是CPU计算流的抽象,一般认为它由程序计数器(PC),栈和寄存器组构成。从操作系统的角度来看,线程使资源和计算流分离,多个线程可以共享系统资源,实现了系统资源(内存,文件,信号)的高效利用。同时,这种共享也实现了计算流之间更高效的交互,实现更高的并行和并发度。 POSIX的使用 demo 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 #include <sys