- 程序(programm)
概念:是为完成特定任务、用某种语言编写的一组指令的集合。即一段静态的代码,静态对象。
- 进程(process)
概念:程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:他有它自身的产生、存在和消亡的过程。即生命周期。(如,运行时的QQ,运行时的MP3播放器)
说明:进程是作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域。程序时静态的,进程是动态的。
- 线程(thread)
概念:进程可进一步细化为线程,时一个程序内部的一条执行路径。若一个进程同一时间并行执行多个线程,就是支持多线程的。
说明:线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(PC)线程切换的开销小。
内存结构:进程可以细化为多个线程。
每个线程,拥有自己独立的:栈、程序计数器。
多个线程,共享同一个进程中的结构:方法区、堆。
- 使用多线程的优点:
背景:以单核CPU为例,只使用单个线程先后完成多个任务(调用多个方法),肯定比用多个线程来完成用的时间更短,那么为什么还仍需使用多线程呢?
多线程程序的优点:
1.提高应用程序的响应。对图形化界面更有意义,可以增强用户体验。
2.提高计算机系统CPU的利用率。
3.改善程序结构。将既长又复杂的进程分为多个线程,独立运行,利于理解和修改。
- 何时需要使用多线程:
1.程序需要同时执行两个或多个任务。
2.程序需要是西安一些需要等待的任务时,如用户输入、文件读写操作、网络操作、搜索等。
3.需要一些后台运行的程序时。