从本质上来讲
进程就是一段正在执行的程序代码,具有动态性,专业术语是程序在执行过程中的描述。打个比方,你看着食谱做饭,食谱就是程序代码,你做饭的这个过程就是进程。
而线程存在于进程之中。如果进程是一个公司的话,多线程就是个个部门。
一、单位角度来讲
进程是资源分配和管理的最小单元
线程是CPU调度的最小单元
二、隔离性
进程与进程之间运行基本互不影响。本质就是程序运行的正确性,不受其他程序运行的影响。
线程要是有一个挂掉,可能会导致其他线程甚至整个进程挂掉。
三、切换开销
那还用说,肯定进程大的多啊
进程之间的内存是不一样的,进程切换要切换内存、保存程序运行状态等,开销巨大
线程之间是共用一片地址空间,共享进程提供的所有资源。
四、创建时间
那还用说,肯定线程创建时间短啊
进程在管理过程中还要创建其他信息,内存管理,打开文件管理
线程直接使用所属进程已经管理好的进程
进程是公司,接需求,其中一个线程是开发部,按需求搞开发
(错误之处,敬请指正)