-
2017-07-13 09:38:06
为什么要在操作系统中引入线程?
答:由于进程是资源的拥有者,所以在创建、撤销、切换操作中需要较大的时空开销,限制了并发程度的进一步提高。为减少进程切换的开销,把进程作为资源分配单位和调度单位这两个属性分开处理,即进程还是作为资源分配的基本单位,但是不作为调度的基本单位(很少调度或切换),把调度执行与切换的责任交给“线程”。这样做的好处不但可以提高系统的并发度,还能适应新的对称多处理机(SMP)环境的运行,充分发挥其性能。更多相关内容 -
在引入线程的操作系统中,资源分配的基本单位是____。A.线程;B.进程;C.作业;D.程序;
2021-05-23 02:52:55在引入线程的操作系统中,资源分配的基本单位是____。A.线程;B.进程;C.作业;D.程序;更多相关问题[单选] 蓄满度是指()。[单选] 日溢流电量是指()。[单选] 深度约60m较均匀的砂卵石土坝地基的防渗处理宜选:()。[填空...在引入线程的操作系统中,资源分配的基本单位是____。A.线程;B.进程;C.作业;D.程序;
更多相关问题
[单选] 蓄满度是指()。
[单选] 日溢流电量是指()。
[单选] 深度约60m较均匀的砂卵石土坝地基的防渗处理宜选:()。
[填空题] 节气门体主要由()和()等组成。
[单选] 晴天时一日中最低气温常出现于()。
[单选] 热带气旋根据强度来划分,以下等级最低的为()。
[单选] 某雨量站日雨量数据是指()。
[单选] 水电站库容数据的一般来源是()。
[填空题] L型电控燃油喷射系统,ECU根据()和()确定基本喷油时间。
[单选] 浮子水位计按记数方式可分为:绝对值式和()。
[问答题,简答题] 什么叫开环控制系统?什么叫闭环控制系统?
[单选] 深度约60m较均匀的砂卵石土坝地基的防渗处理宜选:()。
[填空题] 凸轮轴位置传感器可分为()、()和光电式三种类型。
[填空题] L型电控燃油喷射系统,ECU根据()和()确定基本喷油时间。
[单选] 气压场常用()面上的等压线和()面上的等高线分布图来表示。
[单选] 晴天时一日中最低气温常出现于()。
[单选] 直调水电厂日发电计划进行调整时,一般要遵循的原则和要求说法不对的是()。
[单选] 气旋是大气中水平气流旋转而形成的大型涡旋,气旋中,天气常发生剧烈的变化。北半球气旋的旋转方向()。
[单选] 气象探测环境保护范围的划定标准由()规定。
[单选] 垂直安装与水平安装时,为了不影响生产,便于仪表维修拆装,电磁流量变送器尽可能采用与原先工艺管道()的方式
[填空题] 对于喷油器一般要进行()、()、()三方面检查。
[单选] 水电节水增发电评价管理工作的原则()。
[单选] 水库调度计算及评价规范中历史资料整点时间不同问题处理方法()。
[单选] 申请防雷工程甲级资质的单位必须拥有()名以上防雷相关专业高级技术职称人员,()名以上中级技术职称人员以及一定数量的辅助技术人员。
[单选] 非粘性土料的填筑标准主要以什么控制?()
[单选] 直调水电厂日发电计划进行调整时,一般要遵循的原则和要求说法不对的是()。
[单选] 某电厂修改了1个月前的几个日整编数据后,还应有()操作。
[填空题] 燃油停供控制主要包括()和()。
[单选] 通信中断恢复后,通信软件应有(),从而保证中断期间的所有数据传送上级调度部门。
[填空题] 车速传感器通常安装在()或()上;有()和()两种类型。
[单选] 保证出力是指()。
[单选] 预想出力是指()。
[填空题] 燃油停供控制主要包括()和()。
[单选] 水电厂发电是将水能转化为电能的复杂过程,其转化效率主要取决于:()。
[单选] 独立水库蓄能值计算方法()。
[单选] 蓄能值数据的单位是()。
[单选] 预想出力是指()。
[填空题] 同时喷射喷油正时的控制是以发动机最先进入()行程的缸为基准。
[单选] 基于()可实现指站网分布、雨强分布色斑图、流域区域面积量算及面雨量计算等功能。
[填空题] 空挡起动开关信号的作用是()。
[填空题] 当喷油器的结构和喷油压差一定时,喷油量的多少就取决于()。
[单选] 申请水调自动化实用化验收,要求()。
[单选] 水电站节水增发电考核计算中库容差电量的直接的来源依据是()。
[单选] 水库调度计算及评价规范中水库来水丰枯评价为丰水指的是()。
[填空题] 汽车电控系统的执行元件主要有()、()、()、()、()元件。
[填空题] 应用在发动机上的电子控制技术有:电控燃油喷射系统、()、()、()、()、进气控制系统、增压控制系统、巡航控制系统、警告提示、自诊断与报警系统、失效保护系统、应急备用系统。
[填空题] 节气门位置传感器可分为()、()和综合式三种。
[填空题] 对于喷油器一般要进行()、()、()三方面检查。
[单选] 晴天时一日中最低气温常出现于()。
[单选] 对称三相电源三角形连接时,线电压等于()。
[多选,X型题] 我国防治血吸虫病的原则和策略是().
[单选] 流域雨水情图是在流域地图上标注各遥测、报汛站点位置,并实时反映雨量、水位、流量等信息的变化情况。流域雨水情上所有数据的时标不一致,因为()。
[单选] 日溢流电量是指()。
[填空题] 空挡起动开关信号的作用是()。
[单选] 直调水电厂日发电计划进行调整时,一般要遵循的原则和要求说法不对的是()。
[单选] 水库调度计算及评价规范中水库来水丰枯评价为偏丰指的是()。
[填空题] 电控燃油喷射系统用英文表示为(),怠速控制系统用英文表示为()。
[填空题] 在电控燃油喷射系统中,除喷油量控制外,还包括喷油正时控制、()和()控制。
[单选] 水库来水丰枯评价为特丰指的是()。
[单选] 沙尘暴是我国北方地区冬春季节容易出现的一种灾害性天气,当强风吹起尘沙,使得空气浑浊,水平能见度到达下面那条标准即可定义为沙尘暴()。
-
线程的概念以及为什么要引入线程
2021-10-04 18:29:54线程的概念以及为什么要引入线程 文章目录线程的概念以及为什么要引入线程1.线程2.为什么要引入线程 1.线程 线程是轻量级的进程,在一个进程内部可以存在一个或多个线程,进程与进程之间是不能共享内存的,进程之间...线程的概念以及为什么要引入线程
1.线程
线程是轻量级的进程,在一个进程内部可以存在一个或多个线程,进程与进程之间是不能共享内存的,进程之间的消息通信不方便,但是一个进程内部的线程之间是共享这个进程的内存空间的,线程之间通信很方便。
2.为什么要引入线程
如以上讲的,线程之间共享内存。比如,一个文字输入软件,其内部可以有三个线程,一个用来响应鼠标、键盘的交互线程,一个用来运算,另一个用来备份。因为进程之间不共享内存,所以不能用多个进程来实现这时就用多线程可以解决。线程之间共享内存,所以从一个线程切换到另一个线程不需要陷入内核,也不需要切换上下文,线程之间的切换比进程切换快捷。
3.线程的状态
线程和传统的进程一样,存在就绪、运行、阻塞、终止状态。
4.线程的堆栈
线程共用进程的内存空间,但是拥有自己的堆栈,在线程堆栈中有一帧,这个栈帧用来存储局部变量和返回地址,用来供线程之间的相互调用时使用。
5.线程的创建
线程可以调用库函数
thread_create
来创建一个新的线程,新线程和该线程共享内存空间,有自己独立的堆栈,线程之间不存在层次关系(父子关系),所有线程都是平等的,新线程会返回给调用的线程一个线程ID。6.线程的退出
调用系统函数
thread_exit
使线程退出,调用之后线程消失,无法再调度。7.等待线程的退出
可以调用系统函数
thread_join
函数等待指定线程退出之后,再运行。8.线程放弃CPU的使用
线程和进程不一样,线程没有时间片的强制机制使一个线程放弃CPU的使用,让给另一个线程,要灵活使用系统函数
thread_yield
来使线程放弃对CPU的使用,从而让给另外的线程。9.用户级线程和内核级线程
与进程相似,线程也有管理线程的线程表,线程分为用户线程和内核线程,用户线程的线程表保存在进程的存储空间里,内核线程的线程表保存在内核中。对于用户级线程来说,实现线程之间的切换不需要陷入内核,可以直接切换,但是用户级线程存在一些问题,比如只有当前运行的线程主动放弃CPU才能切换到另一个线程,没有时间片等强制措施,而内核线程的线程表存储在内核中,线程切换需要内核来管理,所以可以强制切换。另外内核线程的有一个问题,对于线程的创建和销毁,如果每次创建都要在内核中创建线程表,销毁时重置内存表,这样的代价太大。主要的做法就是,当某个线程销毁时将其标志为不可运行,但是,内核数据结构没有改变,需要创建新线程时直接重启某个旧的线程,这样的方法称为线程回收。用户级线程也可以使用线程回收,但是没有必要,因为其线程的创建和销毁不涉及内核。
-
(备战招聘)操作系统之为什么要引入线程
2019-02-28 16:15:31大家好,之前的博文我们介绍过进程和线程的概念,那么本文我们重点来讲讲为什么要引入线程的概念、线程的属性以及线程机制在操作系统里是如何实现的。 最开始的操作系统,只有进程的概念,还没有线程一说,因为进程...大家好,之前的博文我们介绍过进程和线程的概念,那么本文我们重点来讲讲为什么要引入线程的概念、线程的属性以及线程机制在操作系统里是如何实现的。
最开始的操作系统,只有进程的概念,还没有线程一说,因为进程概念的出现,应用程序已经可以并发执行了。
最简单的举一个Web服务器的例子,来方便大家理解,比如一个Web服务器,其功能就是从客户端接受网页请求,然后从磁盘上检索相关网页读入内存,最后返回给对应的客户端。但是每次去磁盘中查询网页,进程就会进入等待态,这样就会影响效率,提高服务器效率的办法是在服务器内存中开辟一块空间作为缓存,保存经常被查找的网页,这样如果用户发来请求就先去缓存里查找,如果没有的话再去磁盘里查找。
接着上面的例子,如果没有线程,那么Web服务器只有一个服务进程,因为如果创建多个服务进程的话,开辟两个进程,一个进程用于进行网页的查询,另一个进程用于接收前端传来的信息,由于进程间不能共享信息,那么还需要进行进程间的通信并且还需要判断是哪个客户端的请求,这样资源浪费严重并且效率低下,所以Web服务器理想应该是一个进程,然而一个服务进程面临的问题就是它只能是顺序执行的,如果该进程正在缓存里查找网页,那么就没法接收前端发来的请求,导致服务器性能难以提升。
然而引入了线程以后,问题就变的简单多了,如下为一个Web服务器的进程。
如上图所示,进程把线程分为了两类,一类是分派线程,一类是工作线程,分派线程的作用只负责监听客户端,出现请求就把请求读入,然后把查询的工作交给工作线程,工作线程把网页返回给客户端,由于线程间可以共享资源,这样就大大提高了系统工作的效率。
我们从两个方面来分析,一个是开销方面,一个是性能方面。
另外从进程与线程的区别可以看出,使用线程的好处之一在于可以节省开销,进程占用资源多,进程的创建和互相间通信都需要调用内核,时间/空间开销大,而线程的创建和转换只需要几条指令就行了不需要调用内核,并且线程一般不分配内存资源而且统一进程内的线程间可以分享内存和文件,这样线程的时间/空间开销都远远小于只有进程的情况,因此我们需要引入线程。
最后,从性能的角度来分析,如果一个进程有多个线程,并且CPU是多核的,那么这些线程便可以同时放入不同的计算引擎(内核)中进行计算,大大提高了软件运行速度,有利于并发性的提升。 -
为什么会引入线程(进程,优缺点,模型)!!!
2016-08-05 20:14:491,为什么会产生或者引入线程呢??? 2,程序,进程,线程之间的区别??? 3,线程的优缺点,线程的模型(1:1,N:M,N:1)??? -
有了进程还引入线程的本质原因
2017-09-24 16:41:28linux中,线程是以轻量级进程实现的,在内核看来,线程就是进程没有区别,为什么还引入线程呢? 1.节省空间,对于进程a正在执行的任务1阻塞了,这个想要使用另一个进程b去完成进程a的任务2的效果(如果需要的话并... -
有了进程为什么还要引入线程?
2018-01-26 12:15:15引入线程是有目的的——因为进程作为可拥有资源和可独立调度的基本单位,犹如一个随时背着粮草的士兵,这必然会造成士兵的执行事务速度,所以,一个想法就是:分配两个士兵执行同一个事务。一个负责搬运所需粮草并... -
【操作系统面试专题】:为什么要在操作系统中引入线程?
2013-08-11 10:59:45为什么要在操作系统中引入线程? 答:由于进程是资源的拥有者,所以在创建、撤销、切换操作中需要较大的时空开销,限制了并发程度的进一步提高。为减少进程切换的开销,把进程作为资源分配单位和调度单位这两个属性... -
【操作系统】第六话·线程是进程的(宝ᴗ宝)嘛?
2022-03-12 15:23:07(2)并发性 引入线程的操作系统中,不仅进程之间可以并发执行,而且一个进程中的多个线程之间亦可并发执行,甚至不同进程中的线程也能并发执行,从而使操作系统具有更好的并发性,提高了系统资源的利用率和系统... -
spring-boot(二)引入线程池
2018-04-11 16:12:34spring-boot引入线程不需要再添加额外的jar 1、spring-boot主启动类添加注解 在spring-boot的主启动类上加添加注解@EnableAsync @SpringBootApplication(scanBasePackages = {"... -
操作系统学习笔记(九)~线程单元测试题
2020-03-24 14:37:07线程单元测试 1、下列关于线程的说法,正确的是()。B A.两个线程可以共享各类资源 B.一个进程可以包含多个线程 ...3、在进程中的一段代码可以被创建成为()个线程。D A.1 B.0个 C.2 D.以上都可以 4、用户程序... -
为什么要引入线程?
2012-04-08 20:16:15因为与线程相关的信息比较少,交情的负担意味着线程的代价或开销比较少。当处理器除一个进程并激活另一个进程时,就要发生上下文切换。为了发生上下文切换,操作系统必须启动和重新启动每个进程所需的信息。这就意味... -
操作系统第二章复习题及解答
2020-05-08 18:08:493. 在进程状态转换时,下列( D )转换是不可能发生的。 A.就绪态→运行态 B.运行态→就绪态 C.运行态→阻塞态 D.阻塞态→运行态 4. 下列各项工作步骤中,( B )不是创建进程所必需的步骤。 A.建立一个PCB B... -
复习-进程线程引入的目的及其比较
2018-03-27 19:13:51进程与线程的比较: 进程是操作系统进行资源调度和独立运行的基本单位,引入线程之后,进程只是操作系统资源调度的基本单位,线程成为独立运行的基本单位。多个线程共享同一进程的所有资源,表现在同一进程的所有... -
线程 选择题
2018-07-01 13:52:35正确的是()A 不论是系统支持线程还是用户级线程,其切换都需要内核的支持B 线程是资源的分配单位,进程是调度和分配的单位C 不管系统中是否有线程,进程都是拥有资源的独立单位D 在引入线程的系统中,... -
在spring中引入线程池,设置线程优先级。
2017-09-20 20:43:32在spring.xml 文件中配置:<!-- 线程--> <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 核心线程数 --> &... -
Redis 6.0引入的多线程机制简介
2021-09-24 10:58:27简单介绍了Redis 6.0的多线程模型。 -
操作系统之线程的引入和实现
2018-06-20 00:20:57操作系统之线程 线程的引入 人们在设计多道程序OS时,引入进程的概念,从而解决了单处理机...如果说引入进程的概念是为了使多个程序可以并发执行,以提高系统资源的利用率和系统吞吐量,那么引入线程的概念就是... -
操作系统中线程的基本概念
2020-01-15 10:00:39在操作系统中,进程是可以独立运行的基本单位。随着操作系统理论和技术...人们不仅在新推出的操作系统中引入了线程概念,而且在数据库管理系统和其他一些应用软件中,也通过引入线程来改善系统的性能。 本节简要地叙述... -
线程概念的引入
2018-05-11 16:05:00在引入线程的系统中,线程是进程的一个实体,是被系统独立调度和分配的基本单位, 线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈) 但它可以和同属同一个进程的其他线程... -
程序,进程,线程的区别和联系
2018-08-26 22:27:18进程和程序区别和联系表现在以下方面: 1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期... -
有了进程,为什么还要有线程?
2019-07-09 19:48:53线程产生的原因: ...因此,操作系统引入了比进程粒度更小的线程,作为并发执行的基本单位,从而减少程序在并发执行时所付出的时空开销,提高并发性。和进程相比,线程的优势如下: 从资源上来讲,线程... -
进程和线程的区别---从操作系统的前世今生进行分析
2019-10-14 15:42:12这个问题也曾困扰过我,在之前,都是百度搜索一下,记一下答案,就糊弄过去了,一直不曾深入的去研究,今天通过这篇博客,以操作系统的发展作为脉络,从操作系统的出现和发展来和大家一起学习进程和线程,并分析进程... -
Java—线程的通信
2020-12-22 12:14:39当线程存在通信指挥,系统间的交互性会更强大,在提高CPU利用率的同时还会使开发人员对线程任务在处理过程中进行有效的把控与监督。 引入 问题引入:使用两个线程打印1-100。线程1,线程2交替打印。 代码: package ... -
有关于进程,线程and协程
2021-07-02 00:49:08在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 定义:(分为狭义定义和广义定义!) (1)狭义定义:进程是正在运行的程序的实例(an instance ... -
Redis为什么是单线程,而6.0要引入多线程
2020-04-23 12:08:391,为什么redis是设计为单线程 其一是因为redis的设计是io多路复用即使连接网络处理多io多路复用也可以在内存处理中被忽略 其二多线程模型虽然快但他不可抱枕执行顺序,并带累了并发读写的问题, 三是redis是基于内存的... -
进程与线程相关总结
2020-06-10 15:33:35进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和调度的基本单位。 1 进程是CPU资源分配的最小单位。 2 进程有独立的系统资源。拥有独立的内存单元。 3 一个进程崩溃,不会...