美文网首页
synchronized和reentlock区别

synchronized和reentlock区别

作者: 联想桥南 | 来源:发表于2019-05-25 11:02 被阅读0次
synchronized原理

synchronized原理

Reentlock原理
二者的对比区别
  1. synchronized是jvm层面实现的,对开发使用这透明;
    而reentlock是jdk并发包下的工具类,提供的是api的访问模式
  2. reentlock提供线程可中断模式(有超时参数),而synchronized只能等待jvm自己去判断是否中断。
  3. reentlock需要自己去释放锁 (finally后);而synchronized不用关系
  4. reentlock提供公平锁和非公平锁的实现,synchronized本身是非公平锁
  5. reentlock提供condition api工具,同一个lock下可创建多个condition,condition可以很方便的实现分组唤醒线程。
    严格的循环打印A,B字符串,就可以用这个去实现。
  6. 实现原理,synchronized是通过在字节码加对象监视器实现的。
    reentlock是依赖基于硬件支持的CAS操作实现的。

相同点:
都是可重入锁
性能是做了优化。相差不多

相关文章

网友评论

      本文标题:synchronized和reentlock区别

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