Synchronized和ReentrantLock的区别

2023-11-09

1、Synchronized是一个关键字,ReentrantLock是一个类;

2、Synchronized可以用来修饰普通方法、静态方法和代码块,而ReentrantLock只能用于代码块;

3、Synchronized会自动加锁与释放锁,ReentrantLock需要主动加锁和释放锁;

4、Synchronized的底层是JVM层面,ReentrantLock是API层面的锁;

5、Synchronized是非公平锁,ReentrantLock可以选择公平锁和非公平锁;

6、Synchronized锁的是对象,锁信息保存在对象头中,ReentrantLock通过代码中int类型的state标识来标识锁的状态;

7、Synchronized是不可以响应中断的,ReentrantLock可响应中断;

8、Synchronized底层由一个锁升级的过程。

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

Synchronized和ReentrantLock的区别 的相关文章

随机推荐

  • 物联网毕设分享 - stm32单片机的远程WIFI密码锁 - 物联网 嵌入式

    文章目录 0 前言 1 简介 主要器件 实现效果 4 硬件设计 WIFI模块 OLED显示屏 相关原理图 硬件接线 5 软件说明 开发环境介绍 程序下载配置 设备初始化打印的信息 6 部分核心代码 7 最后 0 前言 这两年开始毕业设计和毕
  • 合理配置线程池核心线程数(IO密集型和CPU密集型)

    1 代码查看服务器的核心数 要合理配置线程数首先要知道公司服务器是几核的 代码查看服务器核数 System out println Runtime getRuntime availableProcessors 2 合理线程数配置之CPU密集
  • 使用Python实现单隐藏层神经网络的训练

    文章目录 1 实验内容 2 实验要求 3 实验原理 多层感知机 前向传播与后向传播 4 具体实现 数据加载与可视化 激活函数 单隐层神经网络 前向传播 后向传播 Mini batch梯度下降 预测与评估 分类结果可视化 5 实验结果 不同激
  • 表情符号(emoji)大全,只此一文便够了

    本文由 大侠 AhcaoZhu 原创 转载请声明 链接 https blog csdn net Ahcao2008 表情符号 emoji 大全 只此一文便够了 摘要 集中展示 笑脸和动物 人 庆贺和物品 食品和物 交通和地点 符号 符号表
  • QT编译警告 warning LNK4042: 对象被多次指定;已忽略多余的指定

    目录 场景复现 解决方案 场景复现 在一次移植QT工程时 发现qmake完成后报了下面一个警告 warning LNK4042 对象被多次指定 已忽略多余的指定 因为我只是移植工程 所以问题只能出在pro配置文件中 反复仔细观看发现在源文件
  • JS/TS格式化日期

    interface Date format this Date fmt string gt string Date prototype format function fmt const ss new Map M this getMonth
  • UE4C++泛型蓝图节点之K2Node蓝图节点

    UE4C 泛型蓝图节点之K2Node蓝图节点 前言 上篇我们讲解了以CustomThunk方式创建自定义泛型节点 今天在此我们讲解以K2Node实现自定义蓝图节点 首先 我们来比较这俩种方法 CustomThunk创建泛型节点时 代码简洁
  • 2014年第五届蓝桥杯Java程序设计本科B组决赛 供水设施(编程大题)

    2014年第五届蓝桥杯Java程序设计本科B组决赛个人题解汇总 https blog csdn net daixinliangwyx article details 89948727 第六题 标题 供水设施 交题测试链接 https www
  • IDEA配置Maven

    1 IDEA配置Maven环境 先在IDEA中配置Maven环境 选择 IDEA中 File gt Settings 搜索 maven 设置 IDEA 使用本地安装的 Maven 并修改配置文件路径 2 IDEA 创建 Maven项目 创建
  • sklearn实战之决策树

    sklearn实战系列 1 sklearn实战之决策树 2 sklearn实战之随机森林 3 sklearn实战之数据预处理与特征工程 4 sklearn实战之降维算法PCA与SVD 5 sklearn实战之逻辑回归与制作评分卡 6 skl
  • 《乌合之众》读书笔记

    作者 法 古斯塔夫 勒庞 译者 马晓佳 背景 法国大革命 导言 群体的时代 真正的历史变革 并不是那些以宏伟和暴力的场景令我们震惊的事情 能够令文化实现伟大复兴的唯一重要的变化 是对思想 观念和信仰产生影响的变化 令人印象深刻的历史事件只不
  • [CCPC] 2017秦皇岛 NumbersI

    题目描述 DreamGrid has a nonnegative integer n He would like to divide n into m nonnegative integers a1 a2 am and minimizes
  • LeetCode高频算法刷题记录4

    文章目录 1 二叉树的最近公共祖先 中等 1 1 题目描述 1 2 解题思路 1 3 代码实现 2 全排列 中等 2 1 题目描述 2 2 解题思路 2 3 代码实现 3 相交链表 简单 3 1 题目描述 3 2 解题思路 3 3 代码实现
  • Ubuntu18.04 下载与安装

    阿里云里面有很多镜像 https opsx alibaba com mirror Ubuntu各个版本的镜像下载地址 http mirrors melbourne co uk ubuntu releases 最新百度经验 Ubuntu19
  • 纯HTML+CSS网页设计——林允儿(可做网页课程作业)

    作品介绍 网页为作者一次课程作业 效果个人觉得还行 其中抛弃了导航栏的使用 主要每次都导航栏 写烦了 采用的是图谱的形式 主要也是因为最近在学 页面主要有6个 有三个是较重复的 所以主要页面是四个 具体的直接看图吧 作品展示 首页 首页背景
  • Python全面解读2018电影票房市场

    作者 法纳斯特 来源 法纳斯得 双11已经过去 双12即将来临 离2018年的结束也就2个月不到 还记得年初立下的flag吗 完成了多少 相信很多人和我一样 抱头痛哭 本次利用猫眼电影 实现对2018年的电影大数据进行分析 01 网页分析
  • FeatureToggle

    概述 为了控制功能开启与关闭 减少代码中的if else繁琐的逻辑判断 主要通过spring的aop及java的注解实现 目前主要包含6个部分的代码 支持内存存储和部分策略 源码git 稍后放源码 功能 单个开关的配置 开关组的配置 通过组
  • MongoDB总结

    MongoDB的官方文档基本是how to do的介绍 而关于how it worked却少之又少 本人也刚买了 MongoDB TheDefinitive Guide 的影印版 还没来得及看 本文原作者将其书中一些关于MongoDB内部现
  • 线性代数学习之初等矩阵和矩阵的可逆性

    求解矩阵的逆 接着https www cnblogs com webor2006 p 14280299 html继续往下学习 在上一次中学习了线性系统以及它的求解 在之前https www cnblogs com webor2006 p 1
  • Synchronized和ReentrantLock的区别

    1 Synchronized是一个关键字 ReentrantLock是一个类 2 Synchronized可以用来修饰普通方法 静态方法和代码块 而ReentrantLock只能用于代码块 3 Synchronized会自动加锁与释放锁 R