org.apache.ignite.internal.util

## Class ReentrantReadWriteLockWithTracking.ReadLockWithTracking

- java.lang.Object
- - java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock
  - - org.apache.ignite.internal.util.ReentrantReadWriteLockWithTracking.ReadLockWithTracking

All Implemented Interfaces:
  Serializable, Lock

Enclosing class:
  ReentrantReadWriteLockWithTracking

    public static class ReentrantReadWriteLockWithTracking.ReadLockWithTracking
    extends ReentrantReadWriteLock.ReadLock

Tracks long rlock holders.

See Also:
  Serialized Form

### Constructor Summary

Constructors
`protected` `ReadLockWithTracking(ReentrantReadWriteLock lock, @Nullable IgniteLogger log, long readLockThreshold)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `lock()`
`void` `lockInterruptibly()`
`boolean` `tryLock()`
`boolean` `tryLock(long timeout, TimeUnit unit)`
`void` `unlock()`

### Methods inherited from class java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock

`newCondition, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### ReadLockWithTracking

    protected ReadLockWithTracking(ReentrantReadWriteLock lock,
                                   @Nullable
                                   @Nullable IgniteLogger log,
                                   long readLockThreshold)

### Method Detail

#### lock

    public void lock()

Specified by:
  `lock` in interface `Lock`
Overrides:
  `lock` in class `ReentrantReadWriteLock.ReadLock`

#### lockInterruptibly

    public void lockInterruptibly()
                           throws InterruptedException

Specified by:
  `lockInterruptibly` in interface `Lock`
Overrides:
  `lockInterruptibly` in class `ReentrantReadWriteLock.ReadLock`
Throws:
  `InterruptedException`

#### tryLock

    public boolean tryLock()

Specified by:
  `tryLock` in interface `Lock`
Overrides:
  `tryLock` in class `ReentrantReadWriteLock.ReadLock`

#### tryLock

    public boolean tryLock(long timeout,
                           TimeUnit unit)
                    throws InterruptedException

Specified by:
  `tryLock` in interface `Lock`
Overrides:
  `tryLock` in class `ReentrantReadWriteLock.ReadLock`
Throws:
  `InterruptedException`

#### unlock

    public void unlock()

Specified by:
  `unlock` in interface `Lock`
Overrides:
  `unlock` in class `ReentrantReadWriteLock.ReadLock`

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.12.0
Release Date | : January 10 2022