zoukankan      html  css  js  c++  java
  • Lock的使用

    • Lock是一个Java类,synchronized是一个Java关键字,两者有本质的不同
    • Lock需要手动释放锁,synchronized是自动释放锁
    • Lock适合大量同步的代码同步,synchronized适合少量代码的同步
    • Lock可以判断是否获得锁的状态,synchronized无法判断是否获得锁的状态

      所以Lock的使用是比synchronized要灵活的,因为Lock可以多路分支通知,因为synchronized实现线程之间的通信是通过使用wait()和notify()与notifyAll()来实现线程之间的通信的,但是JVM唤醒线程是随机的不可控,Lock作为通过手动唤醒的方法,是可以做到想让谁唤醒就让谁唤醒的。

    Lock通过Condition实现等待/通知

  • 相关阅读:
    [USACO06NOV]Corn Fields(状压DP)
    关灯问题II (状态压缩 BFS)
    天梯---至多删三个字符(DP)
    天梯
    蓝桥
    天梯
    天梯
    天梯
    天梯
    蓝桥
  • 原文地址:https://www.cnblogs.com/samanian/p/12021083.html
Copyright © 2011-2022 走看看