Class AbstractOwnableSynchronizer

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    AbstractQueuedLongSynchronizer, AbstractQueuedSynchronizer

    public abstract class AbstractOwnableSynchronizer
    extends java.lang.Object
    implements java.io.Serializable
    A synchronizer that may be exclusively owned by a strand. 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 
      Modifier Constructor Description
      protected AbstractOwnableSynchronizer()
      Empty constructor for use by subclasses.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected Strand getExclusiveOwnerStrand()
      Returns the strand last set by setExclusiveOwnerStrand, or null if never set.
      protected void setExclusiveOwnerStrand​(Strand strand)
      Sets the strand 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

      • setExclusiveOwnerStrand

        protected final void setExclusiveOwnerStrand​(Strand strand)
        Sets the strand that currently owns exclusive access. A null argument indicates that no strand owns access. This method does not otherwise impose any synchronization or volatile field accesses.
        Parameters:
        strand - the owner strand
      • getExclusiveOwnerStrand

        protected final Strand getExclusiveOwnerStrand()
        Returns the strand last set by setExclusiveOwnerStrand, or null if never set. This method does not otherwise impose any synchronization or volatile field accesses.
        Returns:
        the owner strand