public class WaitableRef extends SynchronizedRef
value_lock_| Constructor and Description |
|---|
WaitableRef(java.lang.Object initialValue)
Create a WaitableRef initially holding the given reference
and using its own internal lock.
|
WaitableRef(java.lang.Object initialValue,
java.lang.Object lock)
Make a new WaitableRef with the given initial value,
and using the supplied lock.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
commit(java.lang.Object assumedValue,
java.lang.Object newValue)
Set value to newValue only if it is currently assumedValue.
|
java.lang.Object |
set(java.lang.Object newValue)
Set to newValue.
|
void |
whenEqual(java.lang.Object c,
java.lang.Runnable action)
Wait until value equals c, then run action if nonnull.
|
void |
whenNotEqual(java.lang.Object c,
java.lang.Runnable action)
wait until value not equal to c, then run action if nonnull.
|
void |
whenNotNull(java.lang.Runnable action)
wait until value is nonnull, then run action if nonnull.
|
void |
whenNull(java.lang.Runnable action)
Wait until value is null, then run action if nonnull.
|
get, swapexecute, getLockpublic WaitableRef(java.lang.Object initialValue)
public WaitableRef(java.lang.Object initialValue,
java.lang.Object lock)
public java.lang.Object set(java.lang.Object newValue)
SynchronizedRefset in class SynchronizedRefpublic boolean commit(java.lang.Object assumedValue,
java.lang.Object newValue)
SynchronizedRefcommit in class SynchronizedRefpublic void whenNull(java.lang.Runnable action)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void whenNotNull(java.lang.Runnable action)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void whenEqual(java.lang.Object c,
java.lang.Runnable action)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void whenNotEqual(java.lang.Object c,
java.lang.Runnable action)
throws java.lang.InterruptedException
java.lang.InterruptedException