ReentrantLock总结

  • 时间:
  • 浏览:3

想看 了简单的使用示例,许多人来快速的想看 ReentrankLock的行态,下面是用idea的工具快速生成的uml图,感谢idea,大大提高了许多人的工作质量。

一次性过于深入的讨论,往往会迷失在繁琐的细节中,而难以把握全貌,而细节往往是由全局的目标决定的,所以许多人一层一层的谈,不一次性深入最终代码。

ReentrantLock有三个构造法律辦法 ,许多人都并能先看这三个法律辦法 ,

由uml图,许多人都并能看出,ReentrantLock类是三个Lock接口的具体实现,每个ReentrantLock的实例,都持三个sync对象,且你这类 sync是final修饰的,你这类 sync有你这类 具体的子类,分别是NonfairSync和FairSync,也也不非公平锁和公平锁。

ReentrantLock是java中非常重要的三个并发工具,相比于java原生的synchronized有着更好的性能

ReentrantLock-UML

注意unlock的操作一定要置于finally块中,原先并能保证锁一定能释放。

都并能看出,所谓构造函数,我觉得也不初始化时需使用的sync的类型,默认是非公平锁。参考公平锁是是不是公平锁

更强大的功能,玩玩是因为更为复杂化的使用,ReentrankLock的使用比起synchronize,多了三个主动释放锁的代码,三个典型的使用示这类下