简述程序、进程、线程三者概念及关系
程序
:是指含有指令和数据的文件,被存储在磁盘或者其他的数据存储设备中,换言之程序是静态的代码。
进程
:是指 程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统 运行一个程序 即为 一个进程从创建、运行到消亡的过程。简单来说,一个进程就是一个执行中的程序,它在计算机中一个指令接一个指令地执行着,同时每个进程还占有某些系统资源(CPU时间、内存空间、文件、输入输出设备的使用权 …)。换句话说,当程序在执行时,将会被操作系统载入内存中。线程 是进程划分成更小的运行单位。线程和进程最大的不同在于基本上各个进程是相互独立的,而各个线程则不一定,因为同一进程的线程极可能会互相影响。从另一个角度来说,进程属于操作系统的范畴,主要是同一时间段内,可以同时执行一个以上的程序,而线程则是在同一程序内几乎同时执行一个以上的程序段.
线程
:与进程相似,是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源。所以系统在产生一个线程,或是在各线程之间切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。