edu.emory.mathcs.util.remote.locks
Interface RemoteCondition

All Superinterfaces:
java.rmi.Remote

public interface RemoteCondition
extends java.rmi.Remote

Interface mirroring the java.util.concurrent.locks.Condition, but allowing for RemoteExceptions representing network communication errors.

Author:
Dawid Kurzyniec

Method Summary
 boolean await(long time, TimeUnit unit)
          Causes the current thread to wait until it is signalled or interrupted, or the specified waiting time elapses.
 void awaitUninterruptibly()
          Causes the current thread to wait until it is signalled or interrupted.
 boolean awaitUntil(java.util.Date deadline)
          Causes the current thread to wait until it is signalled or interrupted, or the specified deadline elapses.
 void signal()
          Wakes up one waiting thread.
 void signalAll()
          Wakes up all waiting threads.
 

Method Detail

awaitUninterruptibly

public void awaitUninterruptibly()
                          throws java.rmi.RemoteException
Causes the current thread to wait until it is signalled or interrupted.

Throws:
java.lang.InterruptedException - if the current thread is interrupted (and interruption of thread suspension is supported).
java.rmi.RemoteException - if a communication error occurs
See Also:
Condition.awaitUninterruptibly()

await

public boolean await(long time,
                     TimeUnit unit)
              throws java.lang.InterruptedException,
                     java.rmi.RemoteException
Causes the current thread to wait until it is signalled or interrupted, or the specified waiting time elapses.

Throws:
java.lang.InterruptedException - if the current thread is interrupted (and interruption of thread suspension is supported).
java.rmi.RemoteException - if a communication error occurs
See Also:
Condition.awaitUninterruptibly()

awaitUntil

public boolean awaitUntil(java.util.Date deadline)
                   throws java.lang.InterruptedException,
                          java.rmi.RemoteException
Causes the current thread to wait until it is signalled or interrupted, or the specified deadline elapses.

Throws:
java.lang.InterruptedException - if the current thread is interrupted (and interruption of thread suspension is supported).
java.rmi.RemoteException - if a communication error occurs
See Also:
Condition.awaitUntil(java.util.Date)

signal

public void signal()
            throws java.rmi.RemoteException
Wakes up one waiting thread.

Throws:
java.rmi.RemoteException - if a communication error occurs
See Also:
Condition.signal()

signalAll

public void signalAll()
               throws java.rmi.RemoteException
Wakes up all waiting threads.

Throws:
java.rmi.RemoteException - if a communication error occurs
See Also:
Condition.signalAll()