Class 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

Constructors

Modifier Constructor Description
protected AbstractOwnableSynchronizer()

Empty constructor for use by subclasses.

Methods

Modifier and Type Method Description
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 declared in class java.lang.Object

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

Constructors

AbstractOwnableSynchronizer

protected AbstractOwnableSynchronizer()

Empty constructor for use by subclasses.

Methods

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

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/locks/AbstractOwnableSynchronizer.html