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