进程
- 进程对应一个程序,是系统进行资源分配和调度的一个独立执行单位
- 每个进程都有一定对应的独立的内存地址空间(或内存单元)
- 每个进程只能使用自己内存空间中的资源,进程间互不干扰
线程(轻量级进程)
- 线程是进程的一个执行单元,是CPU调度和分派的基本单位,比进程更小的能独立运行的基本单位
- 线程有自己的独立资源,比如栈,程序计数器
- 线程共享同进程中的全部内存资源
区别
- 进程是系统进行资源分配和调度的一个独立执行单位,线程是CPU调度和分派的基本单位,是进程的一个执行单元
- 进程有独立的内存空间和资源,进程间互不干扰
- 进程在执行过程中拥有独立的内存单元,进程间的线程共享内存
- 线程的划分尺度小于进程,使得多线程程序的并发性高,从而极大地提高了程序的运行效率
- 一个程序至少有一个进程,一个进程至少有一个线程
- 多进程要比多线程健壮。一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉
- 进程开支大,消耗的资源大,效率高。线程开支小,但不利于资源的管理和保护
- 每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中