并发和并行

  • 并发是关于正确有效地控制对共享资源的访问

    同时完成多个任务。在开始处理其他任务之前,当前任务不需要完成。并发解决了阻塞发生的问题。当任务无法进一步执行,直到外部环境发生变化时才会继续执行。最常见的例子是I/O,其中任务必须等待一些input(在这种情况下会被阻止)。这个问题产生在I/O密集型。

  • 并行是使用额外的资源来更快地产生结果

    同时在多个地方完成多个任务。这解决了所谓的计算密集型问题,如果将程序分成多个部分并在不同的处理器上编辑不同的部分,程序可以运行得更快。

    术语混淆的原因在上面的定义中显示:其中核心是“在同一时间完成多个任务。”并行性通过多个处理器增加分布。更重要的是,两者解决了不同类型的问题:解决I/O密集型问题,并行化可能对你没有任何好处,因为问题不是整体速度,而是阻塞。并且考虑到计算力限制问题并试图在单个处理器上使用并发来解决它可能会浪费时间。两种方法都试图在更短的时间内完成更多,但它们实现加速的方式是不同的,并且取决于问题所带来的约束

  • 纯并发:任务仍然在单个CPU上运行。纯并发系统产生的结果比顺序系统更快,但如果有更多的处理器,则运行速度不会更快
  • 并发-并行:使用并发技术,结果程序利用更多处理器并更快地生成结果
  • 并行-并发:使用并行编程技术编写,如果只有一个处理器,结果程序仍然可以运行(Java 8 Streams就是一个很好的例子)。
  • 纯并行:除非有多个处理器,否则不会运行

并发和并行的区别简单介绍相关推荐

  1. 如何向纯洁的女朋友解释并发与并行的区别?

    原文链接:并发与并行的区别 现在我们都说设计可并行.高并发的程序,而且我们很多时候会在潜意识里觉得自己对并行(Parallelism)和并发(Concurrency)的区别很清楚,但如果要明确的说出二 ...

  2. 操作系统中并发和并行的区别和联系

    多线程中并发和并行有区别吗? 搞不懂并发和并行分别是什么意思? 一文通俗的解释并发和并行的区别和联系. 本人一直以为并发和并行是一个意思,直到偶然从站长公众号上看到了并发和并行的区别一文,因此做个笔记 ...

  3. 转:并发与并行的区别

    转: https://www.jianshu.com/p/b11e251d3dc7 并发:一个处理器同时处理多个任务.(concurrency) 单个cpu逻辑上同时处理多个任务: 并行:多个处理器或 ...

  4. 并发与并行的区别(超级通俗易懂)

    学习多线程的时候会遇到一个名词:并发.这是属于操作系统中的词汇,需要了解并发和并行的区别,从网上搜集了几种说法帮助理解. 一: 并发是指一个处理器同时处理多个任务. 并行是指多个处理器或者是多核的处理 ...

  5. java并发和并行的区别

    概念: 并发:以交替的方式 利用等待某件事情完成的时间  来做其他事情,轮流执行任务,不一定同时.宏观上同时,微观上依次执行. 并行:在同一时刻,任务同时开始进行,彼此没有依赖关系.多个任务同一时刻同 ...

  6. 多线程并发和并行的区别

    背景  对于java开发从业人员来说,并发编程是绕不开的话题,juc并发包下提供了一系列多线程场景解决方案.  随着jdk1.8的普及,多线程处理问题,除了使用使用线程池(ExecutorServic ...

  7. 简单了解线程和进程、多进程和多线程、并发和并行的区别

    一:线程与进程 1.概念 线程:是程序执行流的最小单元,是系统独立调度和分配CPU(独立运行)的基本单位. 进程:是资源分配的基本单位.一个进程包括多个线程. 2.区别: 1.线程与资源分配无关,它属 ...

  8. 如何给女朋友解释并发与并行的区别?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 现在我们都说设计可并行.高并发的程序,而且我们很多时候会 ...

  9. 并发和并行的区别_多核、多处理器、并发、并行、超线程概念总结

    多核与多处理器 多核( ) 多核处理器就是指单个 CPU 中有多个可执行单元. 如下图所示,单个 CPU 中有两套可执行单元. 多处理器( ) 多处理器系统则是一个拥有多个 CPU 的系统.每个 CP ...

最新文章

  1. Linux Kernel TCP/IP Stack — L1 Layer — NIC Controller
  2. 高斯消元整数版和浮点数版实现
  3. js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?
  4. Failed to execute goal maven-gpg-plugin 1.5 Sign
  5. 我们并没有觉得MapReduce速度慢,直到Spark出现
  6. PHP 魔术方法__set() __get() 方法详解
  7. sql中exits和in的区别
  8. [科研笔记] 关于人工智能与算法项目的思考
  9. java 水印 位置_Java实现图片加水印且控制位置和透明度
  10. 高中计算机编辑程序,高中信息技术信息的编程加工教案
  11. cocos2d-x第一天:环境的搭建
  12. 手机“开口”,化身“智能机器人”
  13. 从键盘输入10个整数,求其平均值
  14. r语言平均值显著性检验_5.3 两总体均值检验和方差分析的R语言操作(26页)-原创力文档...
  15. CS229 机器学习课程复习材料-线性代数
  16. 制作简易的牛顿摆锤模型
  17. 磨金石教育摄影技能干货分享|乡愁摄影作品欣赏——传统建筑篇
  18. 第一章 计算机系统基础知识(1)
  19. 少年宫计算机室管理制度,少年宫计算机室活动计划](4页)-原创力文档
  20. sql server存储过程练习

热门文章

  1. 在哪个Linux发行版上运行python,怎么在linux上运行python
  2. python去空格的函数_Python怎么去掉最后的空格
  3. ui自动化测试框架_浅谈前端(UI)自动化测试
  4. 【转】[WSL2]WSL2迁移虚拟磁盘文件ext4.vhdx
  5. ASP.NET MVC 入门8、ModelState与数据验证
  6. 【Python CheckiO 题解】Date and Time Converter
  7. 【NC140 排序】手写快速排序
  8. 【NOIP2013积木大赛,NOIP2018铺设道路】积木大赛(思维,贪心)
  9. 《TCP/IP详解》学习笔记(一):基本概念
  10. 浙江经济职业技术学院计算机排名,浙江经济职业技术学院排名第几