1、概念
进程是一个应用程序在处理机上 具有独立功能的程序的一次执行过程,它是一个动态的概念。是一个“执行中的程序”。是并发执行的程序在执行过程中分配和管理资源的基本单位。
而线程是进程中的一部分,也是CPU调度的一个基本单位。
一个程序至少有一个进程,一个进程至少有一个线程。进程作为分配资源的基本单位,线程作为独立运行和独立调度的基本单位。
2、区别(有不同的操作系统资源管理方式)
1)进行有独立的内存,而线程之间是共享内存的。因此,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉。(线程的改变只代表了CPU执行过程的改变,而没有发生进程所拥有的资源变化)
2)多进程的程序要比多线程的程序健壮,但比多线程性能差(进程切换时,耗费资源较大)。
但对于一些要求同事进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
3)进程5种基本状态:初始态、执行态、等待状态、就绪状态、终止状态;线程3中基本状态:就绪、执行、阻塞。