Java 进程与线程
进程与线程
1. 进程
- 进程(Process):指一个内存中运行的应用程序,一个应用程序可以同时运行多个进程;
- 系统运行一个程序即是一个进程从创建、运行到消亡的过程;
- 进程是操作系统结构的基础,是程序的实体,是程序的一次执行过程,是系统运行程序的基本单位,也是线程的容器;
- 每个进程都有独立的内存空间和一组系统资源,每个进程的内部数据和状态都是完全独立的;
2. 线程
- 线程(Light Weight Process,LWP):进程中的一个执行单元,负责当前进程中程序的执行。一个进程中至少有一个线程,一个进程中也可以有多个线程,多线程的应用程序也可以称之为多线程程序;
- 线程由线程 ID、当前指令指针(PC)、寄存器集合和堆栈组成;
- 线程是程序执行流的最小单元,是被系统独立调度和分派的基本单位;
- 线程自己不拥有系统资源,只拥有少量在运行中必不可少的资源,但是它可以与同属一个进程的其他线程共享进程所拥有的全部资源;
- 一个线程可以创建和撤销另一个线程,同一进程中的多个线程之间可以并发执行;