Android
android.os
public class

android.os.ConditionVariable

java.lang.Object
android.os.ConditionVariable

Class that implements the condition variable locking paradigm.

This differs from the built-in java.lang.Object wait() and notify() in that this class contains the condition to wait on itself. That means open(), close() and block() are sticky. If open() is called before block(), block() will not block, and instead return immediately.

This class uses itself is at the object to wait on, so if you wait() or notify() on a ConditionVariable, the results are undefined.

Summary

Public Constructors

            ConditionVariable()
Create the ConditionVariable in the default closed state.
            ConditionVariable(boolean state)
Create the ConditionVariable with the given state.

Public Methods

          boolean  block(long timeout)
Block the current thread until the condition is opened or until timeout milliseconds have passed.
          void  block()
Block the current thread until the condition is opened.
          void  close()
Reset the condition to the closed state.
          void  open()
Open the condition, and release all threads that are blocked.
Methods inherited from class java.lang.Object

Details

Public Constructors

public ConditionVariable()

Create the ConditionVariable in the default closed state.

public ConditionVariable(boolean state)

Create the ConditionVariable with the given state.

Pass true for opened and false for closed.

Public Methods

public boolean block(long timeout)

Block the current thread until the condition is opened or until timeout milliseconds have passed.

If the condition is already opened, return immediately.

Parameters

timeout the minimum time to wait in milliseconds.

Returns

  • true if the condition was opened, false if the call returns because of the timeout.

public void block()

Block the current thread until the condition is opened.

If the condition is already opened, return immediately.

public void close()

Reset the condition to the closed state.

Any threads that call block() will block until someone calls open.

public void open()

Open the condition, and release all threads that are blocked.

Any threads that later approach block() will not block unless close() is called.

Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:56