2 fly0wings fly0wings 于 2014.07.02 11:28 提问

java, 继承与依赖ReentrantLock, 在使用方法上的区别?

最近在看guava的cache源码, 发现LocalCache.Segment类是继承ReentrantLock.

但是我看Segment只用到了lock,unlock,isHeldByCurrentThread 三个方法,

这三个方法都是public的,就是说如果用依赖的方式,这几个方法都可以调用到的.

又查了一下ReentrantLock 的子类, 发现子类包括有: java.util.concurrent.ConcurrentHashMap.Segment

那么为什么不使用依赖(ReentrantLock lock= new ReentrantLock()), 而是用继承呢??

或者说在什么情况下能体现出继承的好处?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java ReentrantLock与synchronized详细分析与例子详解
关于互斥锁: 所谓互斥锁, 指的是一次最多只能有一个线程持有的锁. 在jdk1.5之前, 我们通常使用synchronized机制控制多个线程对共享资源的访问. 而现在, Lock提供了比synchronized机制更广泛的锁定操作, Lock和synchronized机制的主要区别: synchronized机制提供了对与每个对象相关的隐式监视器锁的访问, 并强制所有锁获取和释放均要
java的两种同步方式, Synchronized与ReentrantLock的区别
java在编写多线程程序时,为了保证线程安全,需要同步,经常用到两种同步方式就是Synchronized和重入锁ReentrantLock。 相似点: 这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如果一个线程获得了对象锁,进入了同步块,其他访问该同步块的线程都必须阻塞在同步块外面等待,而进行线程阻塞和唤醒的代价是比较高的(操作系统在用户态与内核态之间来回
Java三种锁机制初步分析总结(Synchronized Lock(ReentrantLock) Semaphore Atomic)
Java处理高并发,大数据,多线程,分布式这些都会产生一个严重的后果,如何保证线程安全和数据的一致性成为重中之重。为了实现这点就不得不使用到了锁机制,java提供了4种常见的锁机制,当然其中Synchronized是最常见和常用的,jdk的很多线程安全类都用Synchronized实现,关于Synchronized可以见之前的文章《java同步锁(synchronized)机制再总结》,但是没有涉
Java进阶知识--Synchronized、Lock、ReentrantLock的区别
最近在看《Java并发编程的艺术》,书中不少知识是更深入的去讲解我们平时经常使用的并发实现机制,介绍了它们的实现原理和区别,读完之后真的有种醍醐灌顶的感觉,突然就好像明白了这些实现到底是干什么用、什么时候去用,今天我就来总结一下其中的一个知识点——Synchronized、Lock、ReentrantLock的区别。1. Synchronized当它用来修饰一个方法或者一个代码块的时候,能够保证在同
Java中ReentrantLock和synchronized两种锁定机制的对比
转载代码块声明为 synchronized,后果: 1.原子性(atomicity) 2.可见性(visibility) 可见性则更为微妙;它要对付内存缓存和编译器优化的各种反常行为
【Java之并发】ReentrantLock和synchronized区别
1、ReentrantLock和synchronized区别: 相同:ReentrantLock提供了synchronized类似的功能和内存语义。  不同: 1.ReentrantLock功能性方面更全面,比如时间锁等候,可中断锁等候,锁投票等,因此更有扩展性。在多个条件变量和高度竞争锁的地方,用ReentrantLock更合适,ReentrantLock还提供了Conditi
synchronized和ReentrantLock区别浅析
一、什么是sychronized        sychronized是java中最基本同步互斥的手段,可以修饰代码块,方法,类.       在修饰代码块的时候需要一个reference对象作为锁的对象.       在修饰方法的时候默认是当前对象作为锁的对象.       在修饰类时候默认是当前类的Class对象作为锁的对象.       synchronized会在进入同步块的前后
ReentrantLock解析,lock与unlock方法分析
介绍ReentrantLock之前,先介绍下背景知识,也就是要用到的知识点。这些知识点包括:比较并交换CAS(Compare And Swap )、ReentrantLock的类结构(其父类,内部类等)。
Java并发之ReentrantLock详解
一、入题        ReentrantLock是Java并发包中互斥锁,它有公平锁和非公平锁两种实现方式,以lock()为例,其使用方式为: ReentrantLock takeLock = new ReentrantLock(); // 获取锁 takeLock.lock(); try { // 业务逻辑 } finally {
java多线程ReentrantLock、sync、ReentrantReadWriteLock性能比较
java多线程ReentrantLock、sync、ReentrantReadWriteLock性能比较 源代码下载地址:http://www.zuidaima.com/share/1796775925894144.htm