程序:是为了完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。
进程:是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:一个进程有他自己的生命周期(产生、存在和消亡的过程)
——>程序是静态的,进程是动态的
——>进程作为资源分配的单位,系统在运行时会为每一个进程分配不同的内存区域
线程:进程进一步细化后就是线程,是一个程序内部的一条执行路径。
——>若一个进程在同一时间并行执行多个线程,就是支持多线程的
——>线程作为调度和执行的单位,每个线程都拥有独立的运行栈和程序计数器(pc),线程切换的开销小
——>一个进程中的多个线程共享相同的内存单元/内存地址空间,它们从同一堆中分配对象,可以访问相同的变量和对象,这就使得线程间的通信更加简便、高效(线程间的通信是在同一地址空间上进行的,所以不需要额外的通信机制,这就使得通信更简便而且信息传递的速度也更快)。但多个线程操作共享的系统资源可能就会带来安全隐患
——>线程的启动、中断、消亡,消耗的资源非常少。