美文网首页
synchronized lock 解读

synchronized lock 解读

作者: sunshaohua520 | 来源:发表于2017-08-02 21:22 被阅读0次

synchronized lock是java 解决并发问题常用的两种方式,都能保证同一时间只能有一个线程执行。他们的区别?

1.synchronized 可以修饰普通方法,代码块,静态类。lock 只能放在代码中。

2.synchronized 修饰,线程A在执行,则线程B一直等待,直到A释放锁,而ReentrantLock 则是在等待指定时间后中断。

3.synchronized 在jvm 层实现,只有代码执行完毕或出现异常才可退出,而ReentrantLock 是由代码实现,退出只能执行finanlly{} 里的unlock()。

4.竞争不是很激烈的情况下,synchronized效率高于ReentrantLock,反之成立。

5.lock 有读写锁和可重入锁(可重入读锁、可重入写锁、读锁升级写锁、写锁降级读锁),而synchronized没有

原理:

每个对象都有一个监视器(monitor),在线程进入monitor 时,会尝试获取monitor 的所有权,如果进入数为0,则获取锁,将进入数修改为1,即拥有该monitor 的所有权,如果进入数为1,则进入阻塞直到monitor 进入数为0.

相关文章

  • synchronized lock 解读

    synchronized lock是java 解决并发问题常用的两种方式,都能保证同一时间只能有一个线程执行。他们...

  • java并发系列(4)——JUC中锁与AQS、Condition

    1、lock介绍 lock和synchronized区别 (1)、与synchronized相比,Lock提供了更...

  • link

    Java 并发编程(一) 独占锁 synchronized 和 Lock 使用及源码解读设计模式Spring St...

  • 2019-07-22

    synchronized vs lock 中午闲来无事,比较了 synchronized lock 性能。 硬件:...

  • Java性能 -- CAS乐观锁

    synchronized / Lock / CAS synchronized和Lock实现的同步锁机制,都属于悲观...

  • 同步锁

    原文 @synchronized(self){} @synchronized(obj){} lock

  • Lock锁 精讲

    1.为什么需要Lock 为什么synchronized不够用,还需要Lock Lock和synchronized这...

  • Java中的锁——Lock和synchronized

    一、Lock接口 1、Lock接口和synchronized内置锁 a)synchronized:Java提供的内...

  • lock使用

    5、Lock 和 Synchronized 的选择 总的来说,Lock 和 Synchronized 有以下几点不...

  • Lock Condition实现生产者消费者模式

    Lock与Synchronized相比的优势: 相比于Synchronized, Lock更加灵活,可以关联不同的...

网友评论

      本文标题:synchronized lock 解读

      本文链接:https://www.haomeiwen.com/subject/truukxtx.html