您的位置:首页 > 汽车 > 时评 > 深圳网站建设培训班_seo排名教程技术_网络广告推广方法_谷歌商店下载官方正版

深圳网站建设培训班_seo排名教程技术_网络广告推广方法_谷歌商店下载官方正版

2024/12/29 5:51:31 来源:https://blog.csdn.net/2302_80826557/article/details/142887341  浏览:    关键词:深圳网站建设培训班_seo排名教程技术_网络广告推广方法_谷歌商店下载官方正版
深圳网站建设培训班_seo排名教程技术_网络广告推广方法_谷歌商店下载官方正版

什么是进程?

前面我们说过,进程是一个正在运行的程序。比如,在Windows系统中,一个正在执行的.exe文件就是一个进程,每一个进程都有独立的内存空间和资源(内存资源,硬盘资源,宽带资源等等)。

由于进程的创建,销毁和切换的开销很大,为了解决开销大的这个问题,大佬们就提出了线程的概念。

什么是线程?

线程就是轻量级进程。同一个进程中的多个线程可以共享进程中的堆区资源、代码区和数据区的资源,但是每一个线程都有属于自己的虚拟机栈、本地方法栈和程序计数器,这使得多个线程在切换的过程中的开销不是很大,所以线程被称为轻量级进程。

进程与线程的联系

一个进程中可以包含多个线程,但是一个进程中至少要包含一个线程。进程为线程的运行提供了资源和空间,也就是说线程是要依附于进程执行的。且同一个进程内的线程可以共享该进程的资源。但是每一个线程在进程中都有都属于自己的栈区。

如下图

进程与线程的区别

1.根本区别:进程是操作系统进行资源分配的基本单位,线程是CPU上处理任务调度执行的基本单位。

2.资源开销:每一个进程都有自己独立的代码和数据空间(程序上下文),所以导致进程间的切换的开销很大。但对于线程来说,虽然每一个线程都有属于自己独立的运行栈和程序计数器,且同一个进程内的线程也会共享进程中的代码和数据空间(程序上下文),所以线程之间的切换的开销相对于进程来说,将低了很多。

3.包含关系:一个进程中可以包含多个进程,但是一个进程中必须要有一个线程,也就是主线程。

4.影响关系:进程都有属于自己的内存地址和资源空间,可以说,一个进程的是否成功运行不会影响另一个进程的成功运行。但是对于线程来说,同一个进程中的线程共享了进程中的一部分资源,所以,一个线程的崩溃有可能导致整个进程的崩溃。所以多进程要比多线程健壮。

5.内存分配:多个进程之间的内存地址和数据资源是相互独立的,但是多个线程之间共享了进程中的部分资源,线程之间不是完全独立的。

6.执行过程:每一个进程都有属于自己的程序执行入口,程序执行序列和程序执行出口,但是线程不能独立进行,必须依存于程序的运行中,线成的运行可以并发执行。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com