关注
1、synchronized简介:
synchronized 关键字解决的是多个线程之间访问资源的同步性,保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。
2、三种使用方式:
修饰实例方法: 作用于当前对象实例加锁
修饰静态方法: 也就是给当前类加锁
修饰代码块 :指定加锁对象
3、synchronize的底层:
A、synchronized 同步语句块的情况:
通过 JDK 自带的 javap 命令查看,synchronized 同步语句块的实现使用的是 一个monitorenter 和 两个monitorexit 指令,其中 monitorenter 指令指向同步代码块的开始位置,monitorexit 指令则指明同步代码块的结束位置。(通俗理解就是获取 对象监视器 monitor 的持有权)
B、synchronized 修饰方法的的情况:
synchronized 修饰的方法并没有 monitorenter 指令和 monitorexit 指令,取得代之的确实是 ACC_SYNCHRONIZED 标识,该标识指明了该方法是一个同步方法
4、总结:两者的本质都是对对象监视器 monitor 的获取。
查看原帖
3 3
相关推荐
迷茫的大四🐶:搞不好进去还得抓你玩手机呢 点赞 评论 收藏
分享
01-15 19:59
中山大学 C++ 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
5517次浏览 73人参与
# 机械人避雷的岗位/公司 #
41082次浏览 267人参与
# 程序员找工作至少要刷多少题? #
10224次浏览 149人参与
# 牛客AI体验站 #
3671次浏览 100人参与
# 论秋招对个人心气的改变 #
6304次浏览 107人参与
# 为了减少AI幻觉,你注入过哪些设定? #
2047次浏览 76人参与
# 刚入职的你踩过哪些坑 #
4531次浏览 97人参与
# AI Coding的使用心得 #
2682次浏览 71人参与
# 我现在比当时_,你想录用我吗 #
4118次浏览 71人参与
# 一张图晒一下你的AI员工 #
3173次浏览 72人参与
# 关于春招/暑期实习,你想知道哪些信息? #
4521次浏览 86人参与
# 程序员能干到多少岁? #
6015次浏览 91人参与
# 找工作的破防时刻 #
252325次浏览 1958人参与
# 晒晒你司的新年福利 #
4346次浏览 72人参与
# 大家实习每天都在干啥 #
119082次浏览 627人参与
# 我的工作日记 #
172747次浏览 1680人参与
# 实习,不懂就问 #
165818次浏览 1477人参与
# 软开人,秋招你打算投哪些公司呢 #
180880次浏览 1398人参与
# 黄金这个事上,你学到了什么 #
962次浏览 28人参与
# 12306一秒售罄,你抢到回家的票了吗? #
628次浏览 19人参与