进程:当一个程序开始运行时,它对应一个进程。进程包括运行中的程序以及它所使用的内存和其它系统资源。进程由程序、数据和PCB(Process Control Block)组成,是操作系统资源分配和调度的独立单位。
线程:为了提高进程的运行效率、改善进程内资源利用率而引入的机制。线程是进程内的一个相对独立的指令流,它也可被操作系统独立调度,每个指令流都称为一个线程。
进程和线程的区别:
1. 每一个进程都至少拥有一个主线程,进程启动后,便开启了主线程。 java程序的入口main方法就是在主线程中运行的。
2. 在主线程中可以创建并运行其它的线程;
2. 线程不能脱离进程而独立运行;一个线程肯定属于某个进程,一个进程可以包含多个线程;线程没有独立的系统资源,它和所属进程内的其它线程共享进程的资源(比如内存或者其他系统资源)。