进程与线程的对比
进程的特点
- 进程是资源分配的单位:资源的控制或所有权属于进程。操作系统执行保护功能,以防止进程之间发生不必要的与资源相关的冲突
- 进程是调度/执行的单位:进程沿着一条执行路径(轨迹)执行。其执行过程可能与其他进程的执行过程交替进行
两个特点相互独立,可分开处理,用进程(任务)作为资源所有权单位(the unit of resource ownership),用线程(thread)/ LWP(Light Weight Process,轻量级进程)作为调度/执行/分派单位(the unit of dispatching)
线程的组成
- 执行状态(运行、就绪等)
- 保存的线程上下文(非运行时)
- 一个执行栈
- 独立的用来存储局部变量的静态存储空间
- 对进程的内存和其他资源的访问(与同一进程内的其他线程共享这些资源)
线程的优点
- 共享进程的代码、数据和资源
- 创建速度快(在已有进程内)
- 终止所用的时间少
- 切换时间少(保存和恢复工作量小)
- 通信效率高(在同一进程内,无需调用OS内核,可利用共享的存储空间)