概述
线程和进程的关系:每个进程都有相应的线程,在执行程序时,实际上是执行相应的一系列线程。进程是资源分配的最小单位,线程是程序执行的最小单位。
详细介绍:
根本区别:进程是资源分配最小单位,线程是程序执行的最小单位。 计算机在执行程序时,会为程序创建相应的进程,进行资源分配时,是以进程为单位进行相应的分配。每个进程都有相应的线程,在执行程序时,实际上是执行相应的一系列线程。
地址空间:进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段;线程没有独立的地址空间,同一进程的线程共享本进程的地址空间。
资源拥有:进程之间的资源是独立的;同一进程内的线程共享本进程的资源。
执行过程:每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
线程是处理机调度的基本单位,但是进程不是。由于程序执行的过程其实是执行具体的线程,那么处理机处理的也是程序相应的线程,所以处理机调度的基本单位是线程。
系统开销:进程执行开销大,线程执行开销小。
进程:
应用程序的执行需要计算机资源,而进程就是操作系统为应用程序的执行分配的资源。比如桌面图标双击后,这个应用程序就开始运行了。
在任务管理器中,就会出现这个应用程序对应的一个进程,有的应用程序可能需要多个进程,有了这个进程,这个应用程序就得到了计算机的各种资源。
线程:
进程创建好之后,得到了计算机的各种资源,就可以运行了,而且,每个进程都至少有一个线程,这个线程就是主线程。进程的这个执行块就是线程。
举个例子,听歌软件运行后,开始播放音乐这个功能就是一个线程,也就是播放音乐线程,而下载音乐又是一个线程,这时候,这个听歌软件就对应一个进程,两个线程,这样运行后就可以一边下载音乐,一边听歌。
总结:
线程和进程是操作系统对应用程序进行执行中的不可缺少的部分,进程是操作系统对应用程序资源分配的单位,而线程是操作系统对应用程序进行执行和调度的单位,线程依赖于进程而存在。
从上面的例子也可以看出,操作系统必须先给应用软件分配资源,创建一个进程,然后才可以对应用程序进行执行和调度。
最后
以上就是名字长了才好记为你收集整理的线程和进程的关系的全部内容,希望文章能够帮你解决线程和进程的关系所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复