zoukankan      html  css  js  c++  java
  • Java Concurrency API 中的 Lock 接口(Lock interface) 是什么?对比同步它有什么优势?

    Lock 接口比同步方法和同步块提供了更具扩展性的锁操作。

    他们允许更灵活的结构,可以具有完全不同的性质,并且可以支持多个相关类的

    条件对象。

    它的优势有

    可以使锁更公平

    可以使线程在等待锁的时候响应中断

    可以让线程尝试获取锁,并在无法获取锁的时候立即返回或者等待一段时间

    可以在不同的范围,以不同的顺序获取和释放锁

    整体上来说 Lock 是 synchronized 的扩展版,Lock 提供了无条件的、可轮询的

    (tryLock 方法)、定时的(tryLock 带参方法)、可中断的(lockInterruptibly)、可多

    条件队列的(newCondition 方法)锁操作。另外 Lock 的实现类基本都支持非公平

    (默认)和公平锁,synchronized 只支持非公平锁,当然,在大部分情况下,非

    公平锁是高效的选择。

  • 相关阅读:
    Spring5源码分析之Bean生命周期
    关系图
    Spring5源码分析之AnnotationConfigApplicationContext
    Spring中好玩的注解和接口
    MyBatis使用总结
    设计模式的应用
    C#:网络传输问题
    工具软件:
    Rar安装包
    C#:注册组件 (cmd)
  • 原文地址:https://www.cnblogs.com/programb/p/13021027.html
Copyright © 2011-2022 走看看