java中进程和线程的区别和联系_进程和线程有什么联系和区别?
发布日期:2021-06-24 17:42:01 浏览次数:2 分类:技术文章

本文共 690 字,大约阅读时间需要 2 分钟。

1.定义:

1) 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。

2) 线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程。

2.进程和线程的关系:

1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。

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

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

4)处理机分给线程,即真正在处理机上运行的是线程。

5)线程是指进程内的一个执行单元,也是进程内的可调度实体。

3.线程与进程的区别:

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

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行。

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

(4)系统开销:在创建或撤销进程的时候,由于系统都要为之分配和回收资源,导致系统的明显大于创建或撤销线程时的开销。但进程有独立的地址空间,进程崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但是在进程切换时,耗费的资源较大,效率要差些。

转载地址:https://blog.csdn.net/weixin_34190683/article/details/114617819 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java adt官网下载_android adt下载
下一篇:java io有哪些实现类_广州Java面试宝典之Java IO篇

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月02日 11时17分18秒