进程的概念 :
概念:进程就是正在运行的程序的实例.每个进程都有一块自己独立的内存空间.在widows系统中在运行中的xxx.exe就是一个进程.如下图所示
线程(Tread)的概念:
概念:线程是操作系统中运行调度的最小单位.是进程中执行任务的单位(负责程序的执行).它包含在进程之中.一个进程中最少要有一个线程.一个进程中可以有多个线程.多个线程则共享进程中的资源.
每个线程是独立在CPU上调度的,线程是操作系统调度的基本单位一个线程是通过一个PCB来描述的.
进程与线程的区别:
区别:
从内存上来说: 进程拥有一个完整的虚拟地址空间,不同的进程拥有不同的空间,同一进程的不同线程共享地址空间,不同进程之间的地址空间与资源相对独立.
从影响上来说: 一个进程的崩溃并不会影响其他进程的运行,而一个线程的崩溃则会导致其所在进程的崩溃.
从资源上来说: 每个进程都有独立的数据空间,进程之间的切换更为耗费资源,线程作为轻量级的进程共享同一进程的资源和空间,线程之间的切换开销更小.
从执行上来说: 如果一个进程里包含多个线程,那么线程并不是逐一执行的,而是在进程之间同步进行执行的,线程依赖于进程,不能独立执行.
进程与线程之间的联系:
联系: 一个进程中可以包含一个线程,也可以包含多个线程(但是不能没有线程),多的线程共用了进程的同一资源(内存和文件描述符表).线程是操作系统可识别的最小执行和调度单位.进程里有多个线程可以提高运行效率,但过多的话也并不行(CPU核心是有限的)