线程与进程

来源:互联网 发布:中电科网络信息安全 编辑:程序博客网 时间:2024/05/24 02:28

系统引入进程的目的是为了多个程序并发执行,而线程的引入是为了减少并发中的时空开销,以提高并发能力

1.进程

   进程是资源的拥有者,资源包括内存、存储、I/O设备等,进程同时又是一个可以独立调度和分派的基本单位,基于这两个属性,进程有以下操作:

(1)创建进程:分配除了处理机以外的所有资源,如内存空间,I/O空间,进程控制块

(2)进程切换:保留当前执行进程的CPU环境以及设置即将要运行的进程运行环境

(3)撤销进程:先进行资源回收,再回收PCB

由于进程在创建进程、切换进程、撤销进程的过程中需要较大的时空开销,因此,进程在一定程度上限制了服务器的并发,服务器上的进程也不宜过多

2.线程

   在现代操作系统中,进程是拥有资源的独立单位,线程才是处理机独立调度的单位,一个线程只能属于一个进程,而一个进程可以拥有多个线程,但至少有一个线程,同一进程的所有线程共享该进程的素有资源,包括代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储),但是每个线程拥有自己的栈段,存储局部变量和临时变量,线程在运行时几乎不需要系统资源,只需要运行中必不可少的资源,如程序计数器、寄存器、栈等。同一个进程间的多个线程之间也可以并发执行,线程之间也需要进行同步,也具有就绪、阻塞、运行三种基本的状态。

3.进程与线程

 (1)调度上,同一进程的线程的切换,不会引起进程的切换,但是不同进程的线程切换会引起进程的切换

   (2)资源上

   (3)并发上,由于线程拥有的资源很少,因此在进行线程切换时,耗费较少的时空开销

   


原创粉丝点击