关注
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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 校招生月薪1W算什么水平 #
37698次浏览 205人参与
# 一人一个landing小技巧 #
124577次浏览 1447人参与
# “vivo”个offer #
39969次浏览 284人参与
# 如果上班像打游戏,你最想解锁什么技能 #
9050次浏览 73人参与
# 我和mentor的爱恨情仇 #
77067次浏览 426人参与
# 为了实习逃课值吗? #
30345次浏览 277人参与
# 哪一瞬间觉得自己长大了 #
38888次浏览 493人参与
# 工作后明白的那些道理 #
22377次浏览 225人参与
# vivo工作体验 #
28532次浏览 124人参与
# 你见过哪些工贼行为 #
25148次浏览 125人参与
# 我是面试官,请用一句话让我破防 #
27768次浏览 131人参与
# 实习吐槽大会 #
386033次浏览 2156人参与
# 中美关税战对我们有哪些影响 #
43969次浏览 368人参与
# 中美关系回暖,你会选择出海吗? #
7671次浏览 114人参与
# 哪些行业值得去? #
6090次浏览 51人参与
# 华为保温 #
108599次浏览 408人参与
# 和mentor 1on1 都聊什么? #
1330次浏览 18人参与
# 读研or工作,哪个性价比更高? #
78954次浏览 769人参与
# i人适合做什么工作 #
12307次浏览 100人参与
# 美团开奖 #
226949次浏览 1158人参与
# AI时代,哪些岗位最容易被淘汰 #
3951次浏览 27人参与
查看9道真题和解析