概念
进程
进程(Process )是指计算机中已运行的程序。进程曾经是分时系统的基本运作单位。——维基
· 进程是正在执行的程序;
· 进程是可以分配处理器并由处理执行的实体;
线程
线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。——维基
· 一个进程至少有一个执行线程;
· 线程也被称为轻量级进程;
· 线程是进程内部的一部分;
进程与线程的区别
资源分配与调度
· 进程是资源竞争的基本单位;
· 线程是程序执行的最小单位;
资源占有角度
·操作系统会为一个进程分配一堆资源,所有的进程之间是独立的,是互不影响的。
·线程会共享进程的虚拟地址空间,只拥有一小部分资源,比如自己的线程ID,私有栈空间,自己的上下文数据等。
线程是共享资源,所以一个线程的异常退出会影响整个进程异常退出,并且要注意线程间的同步与互斥问题。
调度与切换
· 进程会携带很多资源,所以创建和撤销进程时,代价较大
线程花费代价较小
· 进程会携带很多资源,所以进程之间的切换或调度时,操作系统要做的工作比较多
线程调度时,工作较少
进程与线程的联系
进程和线程都是操作系统所运行的程序运行的基本单元。