Java是一门为数不多的多线程支持的语言。
进程定义:
在操作系统的定义中,进程指的是一次程序的完整运行,在这个运行的过程中,内存,处理器,IO等资源操作都要为这个进程进行服务。
在最早的DOS系统的时代,有一个特点,如果你的电脑病毒发作了,那么你的电脑几乎就不能动了。因为所有的资源都被病毒软件所占元,其它的程序无法抢占这个资源。但是后来到了windows时代,电脑即使有病毒,也可以运行。
windows属于多进程的操作系统,但是有一个问题出现了,每一个进程都需要资源的支持,那么这多个进程如何分配资源呢?
时间片轮转算法:在同一个时间段上,会有多进程去抢占资源,但是在某一个时间点上,只会有一个进程运行。
线程定义
线程是进程进一步的划分结果,即:一个进程上可以同时创建多个线程。
例如:Word软件的一次运行是进程,Word软件中的拼写检查则是一次线程。
线程是比进程更快的处理单元,而且所占的资源也小。那么多线程的应用就是性能最高的应用。
总结
线程的存在离不开进程。进程如果消失线程一定会消失,反之如果线程消失,进程不一定会消失。