参考https://www.cnblogs.com/zhuzhu2016/p/5804875.html
进程
是并发执行的程序在执行过程中分配和管理资源的基本单位,是程序执行时的一个实例 是一个动态概念,竞争计算机系统资源的基本单位
线程
线程是进程的一个执行单元 是进程*内的一个调度单位 是比进程更小的独立运行的基本单位 也是程序执行的最小单位 也被称为轻量级进程
区别
资源
进程是程序启动时由系统创建并分配资源,不同进程的地址空间不同 即进程之间独立地址空间 资源(所以再做共享变量时只能用线程)
线程则是属于那个进程 则这个进程内的所有线程共享此进程的资源 如内存 IO CPU等
执行独立性
进程可以理解为一个程序执行的实例 也就是进程的入口也就是启动一个程序的入口,比如双击EXE可执行文件 但是线程不能独立运行 必须依存进程才能执行
两者均可并发执行
你在电脑上同时打开网易云音乐和爱奇艺播放器,一边听歌 一边看卓别林先生的表演 这就是进程的并发 线程并发不做解释
线程是处理器调度的基本单位 but 进程
健壮性
一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮
性能方面
进程切换时,消耗的资源大,效率低 相比于线程
对资源的管理和保护要求高,不限制开销和效率时,使用多进程。
要求效率高,频繁切换时,资源的保护管理要求不是很高时,使用多线程。