Class ConditionVariable


  • @Deprecated
    public class ConditionVariable
    extends Object
    Deprecated.
    com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.
    An interruptible condition variable. This class provides a number of benefits over ConditionVariable:
    • Constructor Detail

      • ConditionVariable

        public ConditionVariable()
        Deprecated.
        Creates a closed instance using Clock.DEFAULT.
      • ConditionVariable

        public ConditionVariable​(Clock clock)
        Deprecated.
        Creates an instance, which starts closed.
        Parameters:
        clock - The Clock whose Clock.elapsedRealtime() method is used to determine when block(long) should time out.
    • Method Detail

      • open

        public boolean open()
        Deprecated.
        Opens the condition and releases all threads that are blocked.
        Returns:
        True if the condition variable was opened. False if it was already open.
      • close

        public boolean close()
        Deprecated.
        Closes the condition.
        Returns:
        True if the condition variable was closed. False if it was already closed.
      • block

        public boolean block​(long timeoutMs)
                      throws InterruptedException
        Deprecated.
        Blocks until the condition is opened or until timeoutMs have passed.
        Parameters:
        timeoutMs - The maximum time to wait in milliseconds. If timeoutMs <= 0 then the call will return immediately without blocking.
        Returns:
        True if the condition was opened, false if the call returns because of the timeout.
        Throws:
        InterruptedException - If the thread is interrupted.
      • blockUninterruptible

        public void blockUninterruptible()
        Deprecated.
        Blocks until the condition is open. Unlike block(), this method will continue to block if the calling thread is interrupted. If the calling thread was interrupted then its interrupted status will be set when the method returns.
      • isOpen

        public boolean isOpen()
        Deprecated.
        Returns whether the condition is opened.