Package EDU.oswego.cs.dl.util.concurrent
Class WaitableFloat
java.lang.Object
EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
EDU.oswego.cs.dl.util.concurrent.SynchronizedFloat
EDU.oswego.cs.dl.util.concurrent.WaitableFloat
- All Implemented Interfaces:
Executor
,Cloneable
,Comparable
A class useful for offloading waiting and signalling operations
on single float variables.
-
Field Summary
Fields inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedFloat
value_
Fields inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
lock_
-
Constructor Summary
ConstructorsConstructorDescriptionWaitableFloat
(float initialValue) Make a new WaitableFloat with the given initial value, and using its own internal lock.WaitableFloat
(float initialValue, Object lock) Make a new WaitableFloat with the given initial value, and using the supplied lock. -
Method Summary
Modifier and TypeMethodDescriptionfloat
add
(float amount) Add amount to value (i.e., set value += amount)boolean
commit
(float assumedValue, float newValue) Set value to newValue only if it is currently assumedValue.float
divide
(float factor) Divide value by factor (i.e., set value /= factor)float
multiply
(float factor) Multiply value by factor (i.e., set value *= factor)float
set
(float newValue) Set to newValue.float
subtract
(float amount) Subtract amount from value (i.e., set value -= amount)void
Wait until value equals c, then run action if nonnull.void
whenGreater
(float c, Runnable action) wait until value greater than c, then run action if nonnull.void
whenGreaterEqual
(float c, Runnable action) wait until value greater than or equal to c, then run action if nonnull.void
wait until value less than c, then run action if nonnull.void
whenLessEqual
(float c, Runnable action) wait until value less than or equal to c, then run action if nonnull.void
whenNotEqual
(float c, Runnable action) wait until value not equal to c, then run action if nonnull.Methods inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedFloat
compareTo, compareTo, compareTo, equals, get, hashCode, swap, toString
Methods inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
execute, getLock
-
Constructor Details
-
WaitableFloat
public WaitableFloat(float initialValue) Make a new WaitableFloat with the given initial value, and using its own internal lock. -
WaitableFloat
Make a new WaitableFloat with the given initial value, and using the supplied lock.
-
-
Method Details
-
set
public float set(float newValue) Description copied from class:SynchronizedFloat
Set to newValue.- Overrides:
set
in classSynchronizedFloat
- Returns:
- the old value
-
commit
public boolean commit(float assumedValue, float newValue) Description copied from class:SynchronizedFloat
Set value to newValue only if it is currently assumedValue.- Overrides:
commit
in classSynchronizedFloat
- Returns:
- true if successful
-
add
public float add(float amount) Description copied from class:SynchronizedFloat
Add amount to value (i.e., set value += amount)- Overrides:
add
in classSynchronizedFloat
- Returns:
- the new value
-
subtract
public float subtract(float amount) Description copied from class:SynchronizedFloat
Subtract amount from value (i.e., set value -= amount)- Overrides:
subtract
in classSynchronizedFloat
- Returns:
- the new value
-
multiply
public float multiply(float factor) Description copied from class:SynchronizedFloat
Multiply value by factor (i.e., set value *= factor)- Overrides:
multiply
in classSynchronizedFloat
- Returns:
- the new value
-
divide
public float divide(float factor) Description copied from class:SynchronizedFloat
Divide value by factor (i.e., set value /= factor)- Overrides:
divide
in classSynchronizedFloat
- Returns:
- the new value
-
whenEqual
Wait until value equals c, then run action if nonnull. The action is run with the synchronization lock held.- Throws:
InterruptedException
-
whenNotEqual
wait until value not equal to c, then run action if nonnull. The action is run with the synchronization lock held.- Throws:
InterruptedException
-
whenLessEqual
wait until value less than or equal to c, then run action if nonnull. The action is run with the synchronization lock held.- Throws:
InterruptedException
-
whenLess
wait until value less than c, then run action if nonnull. The action is run with the synchronization lock held.- Throws:
InterruptedException
-
whenGreaterEqual
wait until value greater than or equal to c, then run action if nonnull. The action is run with the synchronization lock held.- Throws:
InterruptedException
-
whenGreater
wait until value greater than c, then run action if nonnull. The action is run with the synchronization lock held.- Throws:
InterruptedException
-