java中的并发和并行有区别吗?

2024-01-30

我一直在谷歌进行一些研究,但无法完全理解 java 中并发程序和并行程序之间的差异(如果有的话)。我查看过的一些信息表明两者之间没有区别。是这样的吗??


这取决于谁来定义它。 Go 编程语言的创造者并发调用代码 http://rspace.googlecode.com/hg/slide/concur.html如果它被分解成碎片could被并行处理,而并行意味着这些部分实际上是同时运行的。

由于这些是编程原则,因此编程语言与它们的定义方式无关。然而,Java 8 将具有更多功能来实现并发和并行性,而不会过多地扰乱您的代码。例如,这样的代码:

List<Integer> coolItemIds = new List<Integer>();
for(Item item : getItems())
{
    if(item.isCool())
    {
        int itemId = item.getId();
        coolItemIds.add(item);
    }
}

...这是非并发和非并行的,可以这样写(我的语法可能是错误的,但希望你明白):

Iterable<Item> items = getItems();
Iterable<Item> coolItems = items.filter(item -> item.isCool());
Iterable<Integer> coolItemIds = coolItems.map(item -> item.getId());

上面的代码写在一个同时方式:给定的代码都不需要一次过滤一个 CoolItems,或者您只能调用getId()一次处理一个项目,甚至需要在列表开头的项目之前过滤或映射列表末尾的项目。取决于什么类型Iterable返回自getItems(),给定的操作可能会也可能不会运行在平行下,但是你写的代码是同时.

还感兴趣:

  • 并发不是并行 http://vimeo.com/49718712(演示视频)
  • 并发不是并行吗? https://stackoverflow.com/questions/11700953/concurrency-is-not-parallelism(StackOverflow 上的讨论
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中的并发和并行有区别吗? 的相关文章

随机推荐

  • 按 RDD 值从 Cassandra 表中过滤

    我想根据 RDD 中的值从 Cassandra 查询一些数据 我的方法如下 val userIds sc textFile tmp user ids keyBy e gt e val t sc cassandraTable keyspace
  • 如何在 npm 包中捆绑依赖项?

    我有一个 npm 包 它引用了其他本地包 它有这样的结构 deploy typescriptapp tgz references mydependency 包 json app js app css typescriptapp 包 json
  • 中间人:从 Markdown 引用存储在数据文件中的 URL

    For my 中间人构建的网站我已将所有页面的链接和其他信息存储在数据文件中 https middlemanapp com advanced data files data pages yaml pageA link some long u
  • 关于 Nix 包管理的 Nix 表达式是什么?

    即使在阅读了 Nix 手册之后 仍然对 Nix 表达式的真正含义感到困惑 有时它们被称为派生 但存储派生也有其他含义 在尼克斯 一个尼克斯表达只是您可以用 Nix 语言编写的任何类型值的通用术语 Nix 表达式可以是集合 列表 数字 字符串
  • 如何将 Google Plus 与 iPhone sdk 集成?

    我想将 google plus 集成到我的应用程序中 但我不知道从哪里开始 所以如果有人对此有任何想法 请回复我 以此为基础 gt https developers google com api https developers googl
  • 如何从 ORMLite 的 sqlite 数据库生成 java 类代码

    给定一个 sqlite 数据库作为输入 我想知道如何生成一个ORMLite http ormlite com 与关联数据库映射的java类 非常感谢 你可以尝试Telosys 工具 一个用于代码生成的 Eclipse 插件从现有数据库工作具
  • 文件上传大文件 PHP/AJAX [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Github API - 检索用户提交?

    我正在尝试构建一种方法 在该方法中我可以访问 Github 用户名 并发布该用户的所有提交或至少一些提交 是否有调用 GET user repo commit 关联或直接用户 提交 现在 我认为需要采取以下措施 获取与特定名称关联的存储库
  • Option 类型的类型转换

    我是 Python 的 Rust 新手 我相信这是一个基本问题 但我太新了 无法通过诸如类型转换选项 在Python中 让类型检查器知道返回类型不是Optional int int 我们可以解决assert强制类型检查器知道的逻辑x永远不会
  • 在python中分配列表中的每个第N个元素

    我想将列表中的每个第 N 个元素设置为其他值 Like 这个问题 https stackoverflow com questions 14994140 how do you make every other integer in an ar
  • C语言中指针可以指向自身内存地址吗?

    在下面的代码中 一个指针指向它自己的内存地址 include
  • Hibernate:多对多连接表的标准?

    考虑以下两个关系 Entity class Foo Id id ManyToMany JoinTable name ATag joinColumns JoinColumn name foo id inverseJoinColumns Joi
  • Python 中 import 和 __import__ 的区别

    我正在查看项目的一些提交 我在文件中看到以下更改 import dataFile dataFile import dataFile 编码器被替换import dataFile by dataFile import dataFile 它们之间
  • 谷歌云存储坏了? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 今天我不断得到 The request s content type is not accepted on this URL 对于
  • 将图像放置在右上角 - CSS

    我需要在 div 的右上角显示图像 该图像是 对角线 功能区 但将当前文本保留在内部 div 中 就像粘在其顶部一样 我尝试了不同的方法 例如将图像包含在另一个 div 中或定义其类 例如 ribbon position relative
  • Postgres数据库如果不存在则创建[重复]

    这个问题在这里已经有答案了 有没有类似的CREATE TABLE IF NOT EXISTS用于创建数据库 背景 我正在编写一个脚本来在未知系统上自动设置 PostgreSQL 中的架构 我不确定数据库 甚至是架构的一部分 是否已经部署 因
  • 如何在 Erlang/OTP 中将 datetime() 转换为 timestamp()?

    我需要转换 2012 9 21 13 21 11 into timestamp 我怎样才能做到这一点 更正版本 Seconds calendar datetime to gregorian seconds DateTime 62167219
  • 具有相同名称的函数声明内的函数声明 javascript

    我刚刚在 javascript 中看到了这种模式 var test function function test args this properties args etc test prototype methodName functio
  • 为什么我无法实例化从匿名对象推断类型的泛型类?

    假设我有一些课程 假设的例子 public class InvalidResponseException
  • java中的并发和并行有区别吗?

    我一直在谷歌进行一些研究 但无法完全理解 java 中并发程序和并行程序之间的差异 如果有的话 我查看过的一些信息表明两者之间没有区别 是这样的吗 这取决于谁来定义它 Go 编程语言的创造者并发调用代码 http rspace google