操作系统中并发和并行的区别在于_线程是并行还是并发

操作系统中并发和并行的区别在于_线程是并行还是并发一、教材解释:·并行是指两个或者多个事件在同一时刻发生,而并发是指两个或者多个事件在同一时间间隔发生·并行是在不同实体上的多个事件,并发是在同一实体上的多个事件二、c语言站长公众号解释:1、并发早期计算机的CPU都是单核的,一个CPU在同一时间只能执行一个进程或线程,当系统中有多个进程或线程等待执行时,CPU只能执行完一个再执行下一个。计算机在运行过程中,有很多指令会设计i/o操作,而i/o操作又是相当耗时间的,速度远远低于CPU,这导致CPU经常处于空闲状态,只能等待i/o操作完成

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、教材解释:

· 并行是指两个或者多个事件在同一时刻发生,而并发是指两个或者多个事件在同一时间间隔发生

· 并行是在不同实体上的多个事件,并发是在同一实体上的多个事件

二、c语言站长公众号解释:

1、并发

早期计算机的CPU都是单核的,一个CPU在同一时间只能执行一个进程或线程,当系统中有多个进程或线程等待执行时,CPU只能执行完一个再执行下一个。计算机在运行过程中,有很多指令会设计i/o操作,而i/o操作又是相当耗时间的,速度远远低于CPU,这导致CPU经常处于空闲状态,只能等待i/o操作完成后才能继续执行后面的指令。为了提高CPU的利用率,减少等待时间,人们提出了一种CPU并发工作理论:

所谓并发,就是通过一种算法将CPU资源合理地分配给多个任务,当一个任务执行i/o操作时,CPU可以转而执行其他的任务,等待i/o操作完成以后,或者新的任务遇到i/o操作时,CPU在回到原来的任务继续执行。

操作系统中并发和并行的区别在于_线程是并行还是并发

虽然CPU在同一时刻只能执行一个任务,但是通过将CPU的使用权在恰当的时机分配给不同的任务,使得多个任务在视觉上看起来是一起执行的。CPU的执行速度极快,多任务切换的时间也极短,用户根本感受不到。

操作系统负责将有限的CPU资源分配给不同的任务,但是不同操作系统的分配方式不太一样,常见的有:

· 当检测到正在执行的任务进行i/o操作时,就将CPU资源分配给其他任务

· 将CPU时间平均分配给各个任务,每个任务都可以获得CPU的使用权。在给定的时间内,即使任务没有执行完成,也要将CPU资源分配给其他任务,该任务需要等待下次分配CPU使用权后再继续执行。

将CPU资源合理地分配给多个任务共同使用,有效避免了CPU被某个任务长期霸占的问题,极大地提高了CPU资源利用率。

2、并行

并发是针对单核CPU提出的,而并行是针对多核CPU提出的(多核CPU内部集成了多个计算核心,每个核心相当于一个简单的CPU)。多核CPU的每个核心都可以独立地执行一个任务,而且多个核心之间不会相互干扰。在不同核心上执行的多个任务,是真正地同时运行,这种状态就叫做并行。

操作系统中并发和并行的区别在于_线程是并行还是并发

 双核CPU执行两个任务时,每个核心各自执行一个任务,和单核CPU在两个任务之间不断切换相比,它的执行效率更高。

3、并发+并行

在实际工作场景中,处于运行状态的任务(线程或进程)是非常多的,尤其是电脑和手机,开机就有几十个任务,而CPU往往只有四核、八核、十六核,远低于任务(线程或进程)的数量,这个时候就会同时存在并发和并行两种情况:所有核心都要并行工作且每个核心还要并发工作。

操作系统中并发和并行的区别在于_线程是并行还是并发

 总结:并发针对单核CPU而言,指的是CPU交替执行不同任务的能力;并行真多多核CPU而言,指的是多个核心同时执行多个任务的能力。在多核CPU中,并发和并行一般都会同时存在,他们都是提高CPU处理任务能力的重要手段。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234220.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Angularjs 服务

    Angularjs 服务AngularJS服务(Service):www.runoob.com/angularjs/angularjs-services.htmlAngularJS内建了30多个服务。官网搜索service吧https://docs.angularjs.org/api/ng/service/$window$http是AngularJS应用中最常用的服务。服务向服务器发送请求,应用响应服…

    2022年7月25日
  • 让图片居中的css_css 图片居中

    让图片居中的css_css 图片居中图片的居中显示css有很多方法,但在很多情况下有的方法无效,这是件很头疼的事情,比如一般设置图片属性​text-align:center​水平居中,但这个方法经常无效,很多前端工程师都有研究过或者说是搜索过CSS图片居中方法吧。但其实CSS图片居中有多种不同的情况,也有多种不同的解决方法,具体方法如下所示:图片居中又分为水平居中和垂直居中提示:在你开始阅读以下内容之前,你可以先了解CSS图…

    2022年10月24日
  • nginx和apache的区别,选择哪个好?

    nginx和apache的区别,选择哪个好?Apache和Nginx最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;而nginx是异步的,多个连接(万级别)可以对应一个进程。下面本篇文章就来给大家介绍一下Apache和Nginx的区别有那些,选择哪个好?希望对你们有所帮助。一、Nginx特点  1、轻量级,采用C进行编写,同样的web服务,会占用更少的内存及资源。  2、抗并发,nginx以epollandkqueue作为开发模型,处理请求是异步非阻塞的,负载能力比apache高很多,而apache则.

    2022年5月24日
  • 可执行文件的组成

    可执行文件的组成在ADS下,可执行文件有两种,一种是.axf文件,带有调试信息,可供AXD调试工具使用.另一种是.bin文件,可执行的二进制代码文件。我们重点是讲描.bin文件的组成。我们把可执行文件

    2022年8月2日
  • 阿里巴巴Java开发手册(全册四版)

    阿里巴巴Java开发手册(全册四版)阿里官方Java代码规范标准《阿里巴巴Java开发手册2017/2018/2019/2020》小白必备!!!2017年9月25日,阿里巴巴Java开发手册正式发布,至今为止已更迭了四个版本,分别是2017(终极版)、2018(详尽版)、2019(华山版)、2020(泰山版),值得收藏。

    2022年7月7日
  • 汉罗塔的一般解决方法是什么_汉诺塔最快的方法

    汉罗塔的一般解决方法是什么_汉诺塔最快的方法这里主要是汉罗塔的递归求解n个盘子的总步数,和递归每一步盘子的步骤。

    2022年10月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号