Java 同步和可重入锁定

2023-12-11

当我们同步一个对象时,这是一个可重入锁吗?同步锁和可重入锁之间有真正的区别吗?

亲切的问候,


是的,锁定synchronized关键字是可重入的。但它们之间的实现可能有所不同。例如,在 JVM 的早期版本中,ReentrantLock的实现比synchronized关键字有。实现是否或如何不同取决于 JVM 实现/版本。

一般来说,我倾向于推荐使用synchronized如果您不需要该类的附加功能,则使用关键字ReentrantLock提供。但这最终是一种偏好。

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

Java 同步和可重入锁定 的相关文章

  • 获取jdbc中表依赖顺序

    我在 MySQL 数据库中有一组表 A B C D 依赖关系如下 B gt C gt A 和 D gt A 也就是说 A 有一个 PrimaryKey C 有一个外键指向 A 的主键 B 有一个外键指向 C 的主键 类似地 D 有一个外键指
  • H264 字节流到图像文件

    第一次来这里所以要温柔 我已经在给定的 H 264 字节流上工作了几个星期 一般注意事项 字节流不是来自文件 它是从外部源实时提供给我的 字节流使用 Android 的媒体编解码器进行编码 当将流写入扩展名为 H264的文件时 VLC能够正
  • Java中定义类型后同时初始化多个变量?

    这里需要一些语法方面的帮助 我正在尝试在定义类型后重新初始化多个变量 例如 int bonus sales x y 50 这工作正常 但是我想稍后在程序中将不同的值放入其中一些变量中 但我收到语法错误 bonus 25 x 38 sales
  • 如何在数据库中对 (Java) 枚举进行建模(使用 SQL92)

    您好 我正在使用名为 性别 的列对实体进行建模 在应用程序代码中 性别应该是一个 Java 枚举类型 有 2 个值 男性和女性 知道作为数据类型的枚举不是通用 SQL 语言 92 的一部分 您将如何建模它 数据模型必须是可移植的 以便由多个
  • 如何在Mac上使用eclipse安装jetty

    我是一个新手 jetty 和 RESTful API 我想使用 Jetty 创建 REST 服务 并希望将嵌入式 jetty 与 eclipse 一起使用 任何人都可以建议我在 Mac OS 中使用 Eclipse 安装 Jetty Jet
  • 从剪贴板获取图像 Awt 与 FX

    最近 我们的 Java FX 应用程序无法再从剪贴板读取图像 例如 用户在 Microsofts Paint 中选择图像的一部分并按复制 我不是在谈论复制的图像文件 它们工作得很好 我很确定它过去已经有效 但我仍然需要验证这一点 尽管如此
  • FFmpeg 不适用于 android 10,直接进入 onFailure(String message) 并显示空消息

    我在我的一个项目中使用 FFmpeg 进行视频压缩 在 Android 10 Google Pixel 3a 上 对于发送执行的任何命令 它会直接进入 onFailure String message 并显示空消息 所以我在我的应用程序 g
  • BigDecimal 的 JPA @Size 注释

    我该如何使用 SizeMySQL 的注释DECIMAL x y 列 我在用着BigDecimal 但是当我尝试包括 Size max它不起作用 这是我的代码 Size max 7 2 Column name weight private B
  • 如何屏蔽 Protobuf 中的某些字段

    我找不到一种方法来屏蔽 protobuf 结构中的某些字段 我确实阅读了有关 FieldMaskUtil 的内容并尝试了几个示例 但它似乎做了相反的操作 即复制 FieldMask 中提到的字段 这与我想要的不同 这是示例结构和相应的测试代
  • 更改 JTextPane 的大小

    我是Java新手 刚刚在StackOverflow中找到了这段代码 ResizeTextArea https stackoverflow com questions 9370561 enabling scroll bars when jte
  • Scala(或 Java)中泛型函数的特化

    是否可以在 Scala 中专门化泛型函数 或类 例如 我想编写一个将数据写入 ByteBuffer 的通用函数 def writeData T buffer ByteBuffer data T buffer put data 但由于 put
  • MessageDigest MD5 算法未返回我期望的结果

    我脑后的某个东西告诉我 我在这里遗漏了一些明显的东西 我正在将现有的 java 项目与第三方 api 集成 该第三方 api 使用 api 密钥的 md5 哈希进行身份验证 它对我不起作用 在调试过程中我意识到我生成的哈希值与他们提供的示例
  • 如何将txt文件添加到你的android项目中? [复制]

    这个问题在这里已经有答案了 我的Android studio版本是1 5 1 显然这个 never 版本没有 txt 文件的 asset 文件夹 您打算如何将这些文件包含到您的项目中 以及如何进一步使用您内部的应用程序 谢谢你的建议 Pro
  • Kerberos 缓存票证

    我使用的是 Windows 7 64 位 我创建了一个简单的应用程序来对实现 PrivilegedAction 的类的 run 方法中的文件进行计数 以下是我的 jaas conf 文件 CountFiles com sun securit
  • 如何在 Java 中创建要打印到 JFrame 的 JLabels 数组

    我正在尝试制作一系列标签 每个标签都有一个来自函数的不同值 我不知道要使用的标签的确切数量 我的意思是可以打印任意数量的值 请帮我做这件事 很简单 只需一个方法返回一个数组或一些 JLabels 集合 并将它们全部添加到您的 JCompon
  • Java 8根据Map属性过滤Map对象列表以删除一些重复项

    Have a List
  • SWT - 与操作系统无关的获取等宽字体的方法

    SWT 有没有一种方法可以简单地获得跨各种操作系统的等宽字体 例如 这适用于 Linux 但不适用于 Windows Font mono new Font parent getDisplay Mono 10 SWT NONE 或者我是否需要
  • java数据结构模拟数据树

    我需要帮助定义使用什么方法 我有一个 SOAP 响应 给我一个 xml 文件 我需要在屏幕上显示 3 个相关列表 当您在第一个列表中选择一个项目时 相应的选择将出现在第二个列表中 依此类推 我只对从 xml 流中提取数据后如何有效地组织数据
  • Java:基于 Web 的应用程序中的单例类实例

    我在 Web Application 中有这个 Singleton 类 public class MyDAO private static MyDAO instance private MyDAO public static MyDAO g
  • java中的回调是什么[重复]

    这个问题在这里已经有答案了 可能的重复 什么是回调函数 https stackoverflow com questions 824234 what is a callback function 我已经阅读了回调的维基百科定义 但我仍然没有明

随机推荐

  • 你在 Java 中推荐哪些 HTML 解析库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我想解析一些 HTML 以
  • 本地主机、Php artisan 服务和 homestead 的优点/缺点

    我是 Laravel 的新手 我很困惑将使用哪个环境来创建带有数据库集成 MYSQL 的应用程序 Wamp 本地主机 PHP工匠 家园 每种环境的优点 缺点是什么 谢谢 虽然这个问题是基于意见的 但我的回答将基于我的经验 WAMP 本地主机
  • ZooKeeper 快照文件足以恢复状态吗?

    我正在了解 ZooKeeper 并查看备份 ZooKeeper 中存储的数据的选项 ZooKeeper写入两个数据文件 快照和事务日志 人们经常提到快照是 模糊的 需要在它们上重放事务日志以获得最新状态 对于观察者来说 没有事务日志被保存到
  • 如何从 Python 函数外部停止执行该函数?

    所以我有一个我使用的库 在我的一个函数中 我调用该库中的一个函数 这恰好需要很长时间 现在 同时我有另一个线程在运行 我在其中检查不同的条件 我想要的是 如果满足条件 我想取消库函数的执行 现在我正在检查函数开始时的条件 但是如果在库函数运
  • C# 中用于基于平台导入的预处理器指令

    在 C 中查找预处理器指令 用于根据可执行文件是 64 位还是 32 位导入 dll if WIN64 DllImport ZLIB64 dll CallingConvention CallingConvention Cdecl else
  • 如何设置 ASP.NET Core Identity cookie 的路径

    我有一个 ASP NET Core MVC 应用程序 它还托管一个 API 该站点使用身份默认值 因此当您登录时会设置 cookie API 已配置为使用 JWT Bearer 身份验证 我还有一个单独的 ASP Net Core MVC
  • 当服务器和客户端在同一台机器上时监听广播

    花了大半夜的时间后 我还没能成功 这是我正在做的事情 这是一种由一个参与者主持并由其他玩家加入的网络游戏 主持人本人也充当玩家 用户点击 Host 按钮开始在UDP上做广告 其他用户可以查看所有可用主机的列表并选择其中一台加入 作为初学者
  • HTTPERR 日志:Request_Cancelled(对 WCF 服务进行故障排除时)

    我正在尝试解决访问 WCF 自托管服务的 WCF 客户端上的 连接被远程主机强制关闭 错误 我正在查看服务端计算机上 System32 LogFiles HTTPERR 中的 httperr 日志 每次在客户端上看到该错误时 我都会在日志中
  • 图形中的凸包 - Mathematica

    尝试使用计算几何包中的平面图绘制凸包 但在图形中使用时不起作用 关于如何使用 Graphics 绘制 ConvexHull 有什么想法吗 Needs ComputationalGeometry pts RandomReal 0 10 60
  • 如何在xtable的align参数中设置列宽和文本对齐方式?

    我想保留我设置的列的宽度align的论证xtable我想将所有数字列向右对齐 其他数字列向左对齐 标题向中间对齐 我找到了一些使用直接写入表格的解决方案rnw文件 但我想从文件加载数据 因为我的表很大 并且可以在创建knitr文档期间发生变
  • 按日期排序的两侧条形图

    我正在尝试创建一个双面条形图 如下所示这个答案 但我想按日期对条形进行排序 并将 x 轴标签更改为其他值 不是日期 我的数据集如下所示 date rival goals misses 1 2015 07 19 2 1 2 2015 07 2
  • grunt-express-server 与 contrib-watch

    我正在尝试同时使用两者grunt express server and grunt contrib watch然而 一旦我的快递服务器启动 它似乎就不再进行任何观看或重新加载 我有服务器设置在后台生成 我的项目在这里 https githu
  • Lua elseif 无法正常工作

    当我尝试使用elseif 它不起作用 在下面的代码中 无论用户输入哪个数字 唯一运行的代码是 if 语句下的代码 io write do you want to convert from celsius to farenheit 1 or
  • 绑定到列表框,但只显示选定的元素?

    我有一个绑定到 ListBox 的对象集合 但实际上我只想显示所选元素 而不是整个集合 解决这个问题的最佳方法是什么 使用不同的控件 我想我可以做一个 Visibility ValueConverter 来检查 IsSelected 属性
  • 获取php中的referrer URL(包括参数)

    是否有任何 HTTP 标头可供我使用网络服务器 服务器端脚本来获取整个引荐来源网址 包括查询字符串等 您应该能够从 SERVER HTTP REFERER 变量中获取它
  • 使用 Flutter API 加密读取 PEM 文件

    import package encrypt encrypt dart import package encrypt encrypt io dart import dart io import package pointycastle as
  • ZedGraph 用图表线平滑移动 Y2Axis

    在回答我的问题时 ZedGraph 自定义图表 我有每秒插入数据的图表 现在我有其他问题 如何用图表线平滑地向下移动Y2轴 DateTime类型 并在图表中始终只显示最后30分钟 如何格式化 Y2Axis 标签 HH mm 以获得 10 0
  • 返回类型:If 在函数中条件调用 sys.exit()

    假设我在控制台脚本 1 中有以下函数 def example x int gt typing Union typing NoReturn int if x gt 10 something is wrong if this condition
  • 如何防止创建两个字段值相同的记录?

    我有下表 CREATE TABLE people first name VARCHAR 128 NOT NULL nick name VARCHAR 128 NULL 我想防止人们在尝试插入时将昵称与名字相同 我不想在任一列上创建索引 只是
  • Java 同步和可重入锁定

    当我们同步一个对象时 这是一个可重入锁吗 同步锁和可重入锁之间有真正的区别吗 亲切的问候 是的 锁定synchronized关键字是可重入的 但它们之间的实现可能有所不同 例如 在 JVM 的早期版本中 ReentrantLock的实现比s