compact1, compact2, compact3
java.util.concurrent.locks

## Class AbstractOwnableSynchronizer

- java.lang.Object
- - java.util.concurrent.locks.AbstractOwnableSynchronizer

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  AbstractQueuedLongSynchronizer, AbstractQueuedSynchronizer

    public abstract class AbstractOwnableSynchronizer
    extends Object
    implements Serializable

A synchronizer that may be exclusively owned by a thread. This class provides a basis for creating locks and related synchronizers that may entail a notion of ownership. The `AbstractOwnableSynchronizer` class itself does not manage or use this information. However, subclasses and tools may use appropriately maintained values to help control and monitor access and provide diagnostics.

Since:
  1.6
See Also:
  Serialized Form

### Constructor Summary

Constructors
`protected` `AbstractOwnableSynchronizer()` Empty constructor for use by subclasses.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected Thread` `getExclusiveOwnerThread()` Returns the thread last set by `setExclusiveOwnerThread`, or `null` if never set.
`protected void` `setExclusiveOwnerThread(Thread thread)` Sets the thread that currently owns exclusive access.

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

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

### Constructor Detail

#### AbstractOwnableSynchronizer

    protected AbstractOwnableSynchronizer()

Empty constructor for use by subclasses.

### Method Detail

#### setExclusiveOwnerThread

    protected final void setExclusiveOwnerThread(Thread thread)

Sets the thread that currently owns exclusive access. A `null` argument indicates that no thread owns access. This method does not otherwise impose any synchronization or `volatile` field accesses.

Parameters:
  `thread` - the owner thread

#### getExclusiveOwnerThread

    protected final Thread getExclusiveOwnerThread()

Returns the thread last set by `setExclusiveOwnerThread`, or `null` if never set. This method does not otherwise impose any synchronization or `volatile` field accesses.

Returns:
  the owner thread