(1)程序
程序是指令和数据的集合,其本身没有任何运行的含义,是一个静态的概念。
(2)进程
在一个操作系统中,每个独立的程序都可以称为一个进程,也就是“正在运行的程序”,(进程就是程序执行的过程)。它是一个动态的概念,是系统分配资源的单位。
(3)线程
每个运行的程序都是一个进程,在一个进程中还可以有多个执行单元同时运行,这些运执行单元可以看作程序执行的一条路径,被称为线程。
线程是CPU调度和执行的单位。
操作系统中的每一个进程中都至少存在一个线程。
当一个Java程序启动时就会产生一个进程, 该进程会默认创建一个线程, 在这个线程上会运行main ()方法中的代码。