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

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

一、联系

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

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

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

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

二、区别

1.定义不同

进程

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

线程

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

2.调度不同

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

3.并发性

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

4.拥有资源不同

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

原文来自:https://www.py.cn

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容