程序、进程和线程的关系

程序、进程与线程的关系

  程序(Program或Procedure,港台称之为程式)是一组用计算机语言编写的命令序列的集合。程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的「程序」就称之为进程。线程是系统分配处理器时间资源的基本单元。每启动一个程序,就至少启动了一个进程。 
  程序、进程与线程的关系 
  进程(Process,台湾译作行程)是计算机中已运行程序的实体。程序本身只是指令的集合,进程才是程序(那些指令)的真正运行。进程本身不会运行,是线程的容器。线程不能单独执行,必须组成进程。一个程序至少有一个进程,一个进程至少有一个线程。 
  程序、进程与线程的关系 
  线程(Thread,台湾称执行绪)是进程中某个单一顺序的控制流,指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。多线程主要是为了节约CPU时间。 
  程序、进程与线程的关系
  在任务管理器中查看进程和线程 
  线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(线程的运行中需要使用计算机的内存资源和CPU),但它可与同属一个进程的其它线程共享进程所拥有的全部资源。通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。

注意:

(1)程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念;

进程是程序在处理机上的一次执行过程,是运行中的程序,是一个动态的概念。

(2)程序可作为一种软件材料长期存在;

进程是有一定生命周期的,是暂时存在的。

(3)同一程序可以对应多个进程。也就是说同一程序同时运行于若干个数据集合上,它属于若干个不同的进程。但是程序并不能独立运行,作为资源分配和独立运行的基本单元都是进程。

展开阅读全文

没有更多推荐了,返回首页