分类: Java
2018-09-20 15:07:07
Java开发基础学习中,关于Java的线程和进程了解多少呢?咱们今天就来简单了解下Java学习中线程与进程之间两者的联系。进程是系统进行资源分配和调度的一个独立单位,线程是CPU调度和分派的基本单位。
两者的关系在于:
1.一个线程只能属于一个进程,而一个进程却可以有多个线程,但是至少要有一个线程。
2.资源分配给进程,同一进程的所有线程共享这个进程的所有资源。
3.线程在执行过程中,需要协作同步。不同进程的线程之间要利用消息通信的办法实现同步。
4.线程是指进程内的一个执行单元,也是进程内的可调度实体。
而两者的区别又在于:
1.调度:线程作为调度和分配的基本单位,而进程是作为拥有资源的基本单位。
2.并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行。
3.拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。
4.系统开销:在创建或撤销进程时,由于系统都要为之分配和回收资源,导致系统的明显大于创建或撤销线程时的开销。但进程有独立的地址空间,进程崩溃以后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉了就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但是在进程切换的时候,耗费的资源比较大,效率要差一些。
以上就是分享的java开发中关于线程与进程之间联系的简单分析了,想要众多的IT工作者中脱颖而出,就需要拥有高深的技术,学习增值是必不可少的。学习之路,是贵在坚持的!