“快速路径”无竞争同步是什么意思?

2024-01-30

来自性能和可扩展性的章节JCIP书籍 http://jcip.net.s3-website-us-east-1.amazonaws.com/:

同步机制针对无竞争的情况进行了优化 case(易失性始终是无争议的),在撰写本文时, “快速路径”无竞争同步范围的性能成本 大多数系统为 20 到 250 个时钟周期。

作者的意思是什么快速路径这里没有竞争同步?


这里有两个不同的概念。

  1. 快速路径和慢速路径代码
  2. 无竞争和竞争同步

慢速路径与快速路径代码

这是识别机器特定二进制代码的生产者的另一种方法。

借助 HotSpot 虚拟机,慢速路径代码是由 C++ 实现生成的二进制代码,其中快速路径代码表示由 JIT 编译器生成的代码。

一般来说,快速路径代码更加优化。充分理解 JIT 编译器维基百科是一个很好的起点 http://en.wikipedia.org/wiki/Just-in-time_compilation.

无竞争和竞争同步

Java 的同步构造(Monitors http://en.wikipedia.org/wiki/Monitor_(synchronization))有所有权的概念。当线程尝试锁定(获得其所有权)监视器时,它可以被锁定(由另一个线程拥有)或解锁。

无竞争同步发生在两种不同的场景中:

  1. 解锁监视器(立即获得所有权)
  2. 监视器已被同一线程拥有

另一方面,竞争同步意味着线程将被阻塞,直到所有者线程释放监视器锁。

回答问题

By 快速路径无竞争同步作者的意思是,在最便宜的情况下(无竞争同步)最快的字节码转换(快速路径)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“快速路径”无竞争同步是什么意思? 的相关文章

  • JSF2.0 中的空白输入字段未设置为 NULL

    我有一个支持 bean 其中 fileld 为 Long Double Integer String 当我没有在输入字段中指定任何内容时 长整型 整数和双精度值将被视为零 而不是空 我正在使用 tomcat 来部署我的应用程序 有什么解决办
  • 合并 2 个 .jks 信任库文件

    我正在使用启用了 SSL 的 Tomcat 并使用信任库进行客户端身份验证 我有两个 jks trustore 文件 第一个 我将其用于 PROD 环境 另一个用于 TEST 环境客户端证书 我在 Tomcat 上部署了 Web 应用程序
  • Maven项目中的HDF5

    我正在尝试将 hdf hdf5lib H5 导入到 NetBeans 中的 Maven 项目中 它有这个作为导入行 import hdf hdf5lib H5 正如这里所建议的 https support hdfgroup org prod
  • 调试器不会停止在 Intellij IDEA 中的源代码处

    我有一个相当奇怪的问题 无法使用 Intellij IDEA 解决 我正在解析电子邮件文件org apache james mime4j包裹 但我的邮件文件格式不兼容Date 标头 因此 我从 mime4j 源创建了模块 并从磁盘中删除了
  • 图像在 3D 空间中绕 Y 轴旋转

    我有一个 BufferedImage 我想用 theta 角而不是仿射变换绕 Java 中的 Y 轴旋转图像 图片 旋转将如下图所示 矩形将是图像 我可以通过旋转图像的每个像素并绘制图像来做到这一点 因为我必须旋转很多图像 所以我认为这不是
  • 如何使用Gson将JSONArray转换为List?

    在我的 Android 项目中 我试图将收到的 JSONArray 转换为列表 在 的帮助下这个答案 https stackoverflow com questions 8371274 how to parse json array in
  • 字符串 a == 字符串 b 的规则 [重复]

    这个问题在这里已经有答案了 我试图了解字符串池的工作原理以及一个字符串等于另一个字符串的规则是什么 例如这个片段 public static void main String hi String s1 lol String s2 lol S
  • java springrabbit - 优雅地拒绝消息

    我有以下侦听器方法 Override public void onMessage Message message Channel channel try do something bad catch Exception e try long
  • 用二进制数、常规数字和格雷编码填充矩阵

    我有一个包含 1 s 或 0 s 的矩阵 用于创建二进制数 其宽度为n 对于 n 2 和 n 3 它看起来像 00 000 01 001 10 010 11 011 100 101 110 111 等等 现在我正在使用以下代码来生成它 in
  • SFTP Java - 管道关闭 Jsch 异常

    我正在研究一种 java 方法 将文件从一个位置复制到另一个远程位置 我的代码如下 我尝试使用jsch 0 1 42 0 1 50 0 1 54 public static void processFiles ArrayList
  • Java中如何将Object[]转换为String[]?

    我有一个关于 Java 的问题 我有一个Object Java默认的 不是用户定义的 我想将它转换为String 谁能帮我 谢谢 这是转换 for int i 0 i lt objectArr length i try strArr i o
  • 将序列化数据发送到 servlet 时出现 java.io.EOFException

    我正在尝试从 Java 本地应用程序上传一个包含文件到服务器的对象 我的计划是 在 tomcat 上运行的 servlet 将使用以下方法获取对象ObjectInputStream in the doGet方法 但我得到一个EOFExcep
  • 如何在列表视图中选择时启用视频序列自动播放?

    大家好 有人可以与我分享一下我如何编写我的 viewvideo java 类 以便它允许自动播放视频功能 自动排序在列表视图中播放所选视频的任务 从当前位置到最新录制的视频 按顺序直到最新的视频播放完毕 这类似于 YouTube 自动播放功
  • Spring Boot 中的服务限流能力

    有什么办法可以实现Spring中其余服务的服务限制能力 特别是Spring boot 这里的期望是 我的服务暴露于外界 目前每秒 分钟的服务调用数量没有限制 我们希望通过设置限制来控制这一点 我有一个替代选项 通过跟踪并发哈希映射或任何缓存
  • 如何让 Camel FTP 按需只获取一次

    我对骆驼还很陌生 我一直在尝试让 Camel 根据需要仅通过 FTP 获取单个文件一次 我无法让它发挥作用 这是我尝试过的 让我知道什么是最好的方法以及我的代码有什么问题 1 读取文件后发送一条空消息当收到空消息时 停止路由 from di
  • java.lang.IllegalStateException:FragmentManager 已被销毁

    活动中onResume我称之为 volley request 的方法 它获取项目列表 然后将它们加载到此活动内的 ListFragment 中 当我第一次进入活动时 一切正常 但当我重新进入活动时 ListFragment 为空 并且控制台
  • 不鼓励在Web应用程序中使用线程吗?

    我们与同事就在 Java 的 Web 应用程序中使用线程进行了激烈的讨论 他们的观点是 不建议在 Java Web 应用程序中使用线程 因为它们不受容器管理 一般来说 我对此表示同意 因为线程可能会干扰容器 但是 如果它不是 Java EE
  • 使用替换但不使用根元素的 Jaxb 继承

    我正在浏览布莱斯的博客http blog bdoughan com 2010 11 jaxb and inheritance using substitution html http blog bdoughan com 2010 11 ja
  • 找出对象列表中是否包含具有指定字段值的内容?

    我有一个从数据库收到的 DTO 列表 它们有一个 ID 我想确保我的列表包含具有指定 ID 的对象 显然 在这种情况下创建具有预期字段的对象不会有帮助 因为 contains 调用 Object equals 并且它们不会相等 我想出了这样
  • 优雅地避免 Java 中的 NullPointerException

    考虑这一行 if object getAttribute someAttr equals true 显然这一行是一个潜在的错误 属性可能是null我们会得到一个NullPointerException 因此我们需要将其重构为以下两个选择之一

随机推荐

  • 如何找出 R 中加载的包版本?

    我正在研究如何使用我的大学集群 它安装了 2 个版本的 R 系统范围的 R 2 11 Debian 6 0 和 R 2 14 2 位于非标准位置 我正在尝试将 MPI 与雪一起使用 我尝试运行的代码如下 library snow libra
  • C 语言中最常见的命名约定是什么?

    C 语言中常用的命名约定是什么 我知道至少有两个 GNU linux K R 与 lower case functions 姓名 与 UpperCaseFoo 函数 我这里只讨论C 我们的大多数项目都是使用 C 语言的小型嵌入式系统 这是我
  • Watir::Exception::MissingWayOfFindingObjectException:无效属性::css

    我很确定 watir webdriver 有 css 选择器支持 但看起来它不再存在了 ruby v ruby 1 9 3p0 2011 10 30 revision 33570 x86 64 darwin11 2 0 gem v 1 8
  • Keen.io Dataviz 绘制图表但不断收到错误“未捕获的请求解析器不存在”

    在绘制折线图之前尝试进行一些自定义数据更改 Keen io Dataviz 绘制图表但不断收到错误 未捕获的请求解析器不存在 Keen Dataviz 只从 Keen query 获取数据吗 Data result value 317 ti
  • 使用 python 和 boto 在 s3 中公开一个文件

    我在下面有一个 Thins 链接 当我尝试访问它时 会出现一个 xml 文件 上面写着 访问被拒绝 我需要进入 aws 管理控制台并进行此操作part 0000文件公开 以便我可以访问它 您知道如何使用 boto 和 python 授予权限
  • 在云中托管公共(只读)Neo4j 实例

    我正在开展一个开放科学项目 以了解药物为何有效 我们创建了一个名为Hetionet https github com dhimmel hetionet有 47 031 个节点和 2 250 197 个关系 是使用 Neo4j https t
  • Jasmine 规范未找到 CoffeeScript 中定义的类

    我正在 Rails 3 1 后端构建一个backbone js 应用程序 我使用 CoffeeScript 编写主干类 并使用 Jasmine 通过 jasmine headless webkit 进行测试 给定以下 部分 树 app as
  • 无需 jQuery UI 即可进行 jQuery 排序

    我需要 可排序的拖放 功能 并且我正在使用 jQuery 我无法真正使用 jQuery UI 因为对于这个项目来说 这将是一种开销 我需要添加许多 KB 的 JS 和 CSS 才能使用一小部分功能 有没有您可以推荐的插件或者我可以遵循的简单
  • TNS:侦听器当前不知道连接描述符中请求的服务

    运行我的应用程序时 我收到 ORA 12514 TNS listener 目前不知道连接描述符中请求的服务 但我可以通过 Visual Studio 中的服务器资源管理器连接到数据库 应用程序在哪里 发布时 查找连接数据库所需的信息 我们的
  • 哪里说 0x 前缀使文字成为十六进制基数?

    我知道我可以写0x1230FF在Python中 它将是一个值为1192191的字面int 但是我在官方文档或PEP中找不到任何指定这是允许的并且0x确实表示十六进制基数 我能找到的最接近的是PEP 3127 整数文字支持和语法 https
  • AS3 USB 游戏控制器支持

    如何让 USB 控制器控制我的 AS3 游戏 我现在正在使用键盘 我考虑过映射按键 但我必须为此使用一个插件 我只是希望用户能够购买一个不需要任何驱动程序下载 配置的 简单控制器 他们应该能够插入 USB 控制器并通过浏览器中的 Flash
  • Apple 推送通知身份验证密钥(沙盒和生产)

    我最近在为给定 iOS 客户端创建证书时注意到一个新选项 该选项的标题是 Apple 推送通知身份验证密钥 沙盒和生产 获取身份验证密钥以生成服务器端令牌 您可以使用 这些令牌作为您通知的证书的替代品 要求 一个身份验证密钥可以用于多个应用
  • 从 PowerShell 调用 CreateProcess

    我正在尝试打电话创建进程 http msdn microsoft com en us library windows desktop ms682425 28v vs 85 29 aspx来自 PowerShell API 调用表明它已成功
  • 如何将 TextView 值转换为 Integer

    美好的一天 编程勇士们 请帮我解决这个简单的问题 我是 Android 新手 如何将 TextView 值转换为 Integer 请看我附加的代码 谢谢 public class appleTrivia extends AppCompatA
  • Angular 9 - 伊斯坦布尔测试覆盖率报告生成为空

    我收到一份空报告 它列出了文件 但没有填充百分比 知道是什么原因造成的吗 错误信息 Handlebars 访问已被拒绝解析属性 语句 因为它不是其父级的 自己的属性 我的 package json 文件 dependencies angul
  • PL/SQL 存储过程输出游标到 VBA ADODB.RecordSet?

    在这篇文章的序言中 我想说我对 Excel 2007 vba 宏相当陌生 我正在尝试调用一个以游标作为输出参数的 Oracle PL SQL 存储过程 程序规范如下所示 PROCEDURE get product out cur data
  • 如何为 Azure Functions v3 配置 swagger ui 页面?

    我使用以下命令将 OpenApi 支持添加到 Azure 函数应用程序 v3 ConfigureOpenApi in Program Main 我对特定功能使用函数装饰 但如何控制 api swagger ui 上显示的通用 API 名称
  • httplib2 安装时权限被拒绝

    我正在尝试安装适用于 Python 的 httplib2 库 以便我可以使用它与 Twitter 进行交互 但当我尝试通过 python setup py install 进行安装时 我在控制台中收到以下错误 这是一个新的 MBA 我是唯一
  • 在 Node.Js Express 中,“res.render”是否结束 http 请求?

    因此 只有在确定一切都已完成时才执行 res render 对吗 因为它结束了请求并弹出了一个网页 如果您不提供回调res render view options fn 它会自动给出 200 HTTP Status 和 Content Ty
  • “快速路径”无竞争同步是什么意思?

    来自性能和可扩展性的章节JCIP书籍 http jcip net s3 website us east 1 amazonaws com 同步机制针对无竞争的情况进行了优化 case 易失性始终是无争议的 在撰写本文时 快速路径 无竞争同步范