synchronized原理
来源:秒懂库 阅读:2.06W 次
品牌型号:联想小新Pro13/系统版本:windows10
本文链接:https://www.miaodongku.com/itkj/menzpm.html
synchronized由方法调用指令读取运行时常量池中方法的 ACC_SYNCHRONIZED 标志来隐式实现的,Java 虚拟机中的同步(Synchronization)基于进入和退出管程(Monitor)对象实现, 无论是有明确的 monitorenter 和 monitorexit 指令,即同步代码块的显式同步还是隐式同步都是同理。
synchronized是JVM内置锁,通过内部对象Monitor(监视器锁)来实现,基于进入与退出monitor对象来实现方法与代码块的同步,监视器锁的实现,最终依赖操作系统的Mutex lock(互斥锁)来实现。
synchronized关键字3种应用方式
修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁
修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁
修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。
热门内容
大家都在看
最近更新