品易云推流 关闭
文章详情页
文章 > java基础 > java线程和进程的关系有哪些

java线程和进程的关系有哪些

头像

小妮浅浅

2021-01-08 10:03:282215浏览 · 0收藏 · 0评论

在程序运行中有两个概念容易被混淆,那就是进程和线程。我们平时打来的程序框都可以算是进程,而线程就是进程的助手,一般使用时是不会去查看的。为了帮助大家更好的理解它们的关系,下面我们就java线程和进程的联系与区别带来讲解,重点方法它们区别的比较上,一起来学习下吧。

一、联系

1.线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。

2.资源分配给进程,同一进程的所有线程共享该进程的所有资源。

3.虚拟机分给线程,即真正在虚拟机上运行的是线程。

4.线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。

二、区别

1.定义不同

进程

进程是程序的一次执行过程,是一个动态概念,是程序在执行过程中分配和管理资源的基本单位,每一个进程都有一个自己的地址空间,至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止状态。

线程

是进程中的一个实体,是被进程独立调度和分派的基本单位。 线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(计数器、寄存器和栈),但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

2.调度不同

线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

3.并发性

不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

4.拥有资源不同

进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.

以上就是java线程和进程的关系,两者之间的联系相信大家都清楚了,在区别上我们重点拆分成四点进行分析,帮助大家彻底区分线程和进程的概念。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图