当前位置:秒懂库 > IT科技 > synchronized原理
手机版

synchronized原理

来源:秒懂库 阅读:2.06W 次
品牌型号:联想小新Pro13/系统版本:windows10

synchronized由方法调用指令读取运行时常量池中方法的 ACC_SYNCHRONIZED 标志来隐式实现的,Java 虚拟机中的同步(Synchronization)基于进入和退出管程(Monitor)对象实现, 无论是有明确的 monitorenter 和 monitorexit 指令,即同步代码块的显式同步还是隐式同步都是同理。

synchronized是JVM内置锁,通过内部对象Monitor(监视器锁)来实现,基于进入与退出monitor对象来实现方法与代码块的同步,监视器锁的实现,最终依赖操作系统的Mutex lock(互斥锁)来实现。

synchronized关键字3种应用方式

修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁

修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁

修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。 

 

synchronized原理

本文链接:https://www.miaodongku.com/itkj/menzpm.html

Copyright © 2024. 秒懂库 All right reserved. 黑ICP备20202358号-2

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。