synchronized 和 ReentrantLock 是如何实现的?它们有什么区别?(摘录自拉钩课程,侵删)
区别synchronized 属于独占式悲观锁,是通过 JVM 隐式实现的,synchronized只允许同一时刻只有一个线程操作资源。在 Java 中每个对象都隐式包含一个 monitor(监视器)对象,加锁的过程其实就是竞争 monitor 的过程,当线程进入字节码 monitorenter 指令之后,线程将持有 monitor 对象,执行 monitorexit 时释放 monitor ...
原创
2020-05-06 23:50:17 ·
227 阅读 ·
0 评论