目录
一、了解进程与线程
进程
指在系统中正在运行的一个应用程序,程序一旦运行就是一个进程。进程是程序执行时的一个实例,即它是程序已经执行到何种程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。
线程
线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其他线程贡献进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。
同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程或是进行线程间切换工作时,负担要比进程小。
二、进程与线程的区别
- 进程是资源分配的最小单位,线程是程序执行的最小单位(资源调度的最小单位)。
- 进程有自己的独立地址空间,每启动一个进程,系统就会给它分配地址空间,建立数据表来维护代码段、对栈段和数据段,这种操作很昂贵。而线程是共享进程中的数据,使用相同的地址空间&#