博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进程与线程的区别
阅读量:4041 次
发布时间:2019-05-24

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

要解释,进程和线程的区别,首先要了解,什么是线程,什么是进程?网上关于进程和线程的说法有很多,我们先看一下?

1、什么是进程?什么是线程?

#解释1:

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

线程:是CPU调度和分派的基本单位,它可与同属一个进程的其他的线程共享进程所拥有的全部资源。

#解释2:

进程:是包换上下文切换的程序执行时间总和 = CPU加载上下文+CPU执行+CPU保存上下文

线程:是共享了进程的上下文环境,的更为细小的CPU时间段,CPU在执行的时候没有进行上下文切换的

进程和线程都是一个时间段的描述,是CPU工作时间段的描述,不过是颗粒大小不同。

#解释3

进程:是资源分配的最小单位

线程:是CPU调度的最小单位

#解释4:

进程:在一定的环境下,把静态的程序代码运行起来,通过使用不同的资源,来完成一定的任务。比如说,进程的环境包               括环境变量,进程所掌控的资源,有中央处理器,有内存,打开的文件,映射的网络端口等等。

          一个系统中,有很多进程,它们都会使用内存。为了确保内存不被别人使用,每个进程所能访问的内存都是圈好的。一人一份,谁也不干扰谁。这里给大家想强调的就是,进程需要管理好它的资源

线程:作为进程的一部分,扮演的角色就是怎么利用中央处理器去运行代码。这其中牵扯到的最重要资源的是中央处理器               和其中的寄存器,和线程的栈(stack)。这里想强调的是,线程关注的是中央处理器的运行,而不是内存等资源的管理。 

#解释5:

进程:是重量级的线程,通常我们也称进程为heavy-weight process,

线程:是light-weight process

2. 进程和线程的关系 

        通过不同的解释,来一窥进程和线程关系。很久之前,只有进程,进程资源分配也是调度的最小单位。后来,cpu发展越来越快,但是进程切换很浪费事件和资源。于是诞生了线程,把进程进行了更细的划分

从此之后,

进程:强调了程序运行资源的管理,即资源分配的最小单位

线程:强调了cpu的利用,即调度的最小单元

 

 

转载地址:http://klldi.baihongyu.com/

你可能感兴趣的文章
如何将PaperDownloader下载的文献存放到任意位置
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
JVM最简生存指南
查看>>
Java的对象驻留
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++类的操作符重载注意事项
查看>>
c++模板与泛型编程
查看>>
WAV文件解析
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
WPF UI&控件免费开源库
查看>>
QT打开项目提示no valid settings file could be found
查看>>
Win10+VS+ESP32环境搭建
查看>>
Ubuntu+win10远程桌面
查看>>
flutter-实现圆角带边框的view(android无效)
查看>>
android 代码实现圆角
查看>>