一、进程
简而言之,进程就是一个可执行的exe程序如下图
二、线程
线程是操作系统能够进行运算调度的最小单位
举例来看,进程就是正在运行的如QQ,微信等程序,线程就是在QQ这个进程里面的视频聊天,文件传输
三、进程和线程的联系与区别
1.进程是“重量的“,线程是“轻量的”
从时间成本和资源占用来看,创建、销毁、调度一个进程的成本是比较高的,例如进程在资源分配的时候需要一个一个地进行遍历内存里的空表来进行分配;对于线程来说,系统资源是已经分配好了的,这样就为创建线程省下了分配资源的开销,所以线程是“轻量的”。
2.进程之间具有独立性而线程不完全具有独立性
对于进程而言,如果一个进程出现了问题是不会影响到另一个进程的,然而对于线程来说,如果一个线程出现了问题,可能会让另一台线程也出现问题最后导致整个进程都出现问题。
3.进程是操作系统资源分配的基本单位,然而线程是操作系统调度执行的基本单位。4.
4.进程有自己独立的内存空间和文件描述符表,然而在同一个进程中的多个线程之间是共享同一份地址空间和文件描述符表。
5.进程包含线程,一个进程当中可以有多个线程,每个线程都是一个独立的执行流(多个线程可能是在多个CPU中同时运行,也可能是在一个CPU中通过快速调度进行并发运行)