进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。
线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。
一个程序至少有一个进程,一个进程至少有一个线程
查找了网上的资料,进行了归纳整理,进程与线程的区别主要有以下几点:
根本区别:
进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
主要区别:
地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的。
健壮性:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。
资源消耗:进程切换时,消耗的资源大,效率高。所以涉及到频繁的切换时,使用线程要好于进程。
执行过程:每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。线程是处理器调度的基本单位,但是进程不是。
划分尺度:线程的划分尺度小于进程,使得多线程程序的并发性高
觉得不错的小伙伴可以右上角点个赞或关注哟!