Class defining Abort action.
Set the policy for blocked execution to be to
throw a RuntimeException.
Wait (possibly forever) until successful passage.
Wait (possibly forever) until successful passage.
Wait until a permit is available, and take one *
Wait until a permit is available, and take one *
acquire() - method in class EDU.oswego.cs.dl.util.concurrent.
Sync Wait (possibly forever) until successful passage.
Wait (possibly forever) until successful passage.
Wait (possibly forever) until successful passage.
Wait (possibly forever) until successful passage.
Record whether current thread may be processing a task
(i.e., has been started and is not in an idle wait).
Number of threads that are not waiting for work *
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Add amount to value (i.e., set value += amount)
Create and start a thread to handle a new command.
Clean up after a reader operation *
Clean up after a reader operation *
Override this method to change to reader preference *
Notify a waiting take if needed *
Return the value of the Fraction as a double *
Wait at most msecs to pass; report whether passed.
Wait at most msecs to pass; report whether passed.
Wait at most msecs millisconds for a permit.
Wait at most msecs millisconds for a permit.
Wait at most msecs to pass; report whether passed.
Wait at most msecs to pass; report whether passed.
Wait at most msecs to pass; report whether passed.
Wait at most msecs to pass; report whether passed.
Enter barrier and wait at most msecs for the other parties()-1 threads.
Wait msecs to complete a rendezvous.
Wait for a shutdown pool to fully terminate.
Wait for a shutdown pool to fully terminate, or until the timeout
has expired.
c_ - field in class EDU.oswego.cs.dl.util.concurrent.
SyncMap Perform some action that returns a result or throws an exception *
Interface for runnable actions that bear results and/or throw Exceptions.
Set the termination status of this task.
Cancel a scheduled task that has not yet been run.
Special marker used in queue nodes to indicate that
the thread waiting for a change in the node has timed out
or been interrupted.
Return the maximum number of elements that can be held.
Return the current capacity of this queue *
Return the maximum number of elements that can be held.
Return the maximum number of elements that can be held.
Number of elements allowed *
Simulate CAS for head field, using 'this' lock *
Simulate a CAS operation for 'next' field *
Simulate CAS for tail field *
An array of wait queues, one per priority *
Main interface for buffers, queues, pipes, conduits, etc.
Set active status of thread t to false, and
then wait until: (a) there is a task in the entry
queue, or (b) other threads are active, or (c) the current
thread is interrupted.
Adjust top and base, and grow DEQ if necessary.
Clear the value and exception and set to not-ready,
allowing this FutureResult to be reused.
clear() - method in class EDU.oswego.cs.dl.util.concurrent.
Heap remove all elements *
set thread_ to null to indicate termination *
set thread_ to null to indicate termination *
A general-purpose time-based daemon, vaguely similar in functionality
to common system-level utilities such as at
(and the associated crond) in Unix.
cmp_ - field in class EDU.oswego.cs.dl.util.concurrent.
Heap Fork both tasks and then wait for their completion.
A specialized expansion of
w.fork(); invoke(v); w.join();
Fork all tasks in array, and await their completion.
Array-based version of coInvoke
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
Set value to newValue only if it is currently assumedValue.
perform element comaprisons using comparator or natural ordering *
return a number less, equal, or greater than zero
reflecting whether this Fraction is less, equal or greater than n.
return a number less, equal, or greater than zero
reflecting whether this Fraction is less, equal or greater than
the value of Fraction other.
Set the value to its complement
Set the value to its complement
Set the value to its complement
Set the value to its complement
Set the value to its complement
Set the value to its complement
Set the value to its complement
Set the value to its complement
Set the value to its complement
Set the value to its complement
This class is designed for fans of POSIX pthreads programming.
Create a new CondVar that relies on the given mutual
exclusion lock.
Check under synch lock if DEQ is really empty when doing pop.
double-check a potential take
Computes the value to be returned by the get
method.
count_ - field in class EDU.oswego.cs.dl.util.concurrent.
Heap A CountDown can serve as a simple one-shot barrier.
Create a new CountDown with given count value *
Create and start up to numberOfThreads threads in the pool.
Return the current count value.
A cyclic barrier is a reasonable choice for a barrier in contexts
involving a fixed sized group of threads that
must occasionally wait for each other.
Create a CyclicBarrier for the indicated number of parties,
and no command to run at each barrier.
Create a CyclicBarrier for the indicated number of parties.
A new Par
, when executed,
runs the tasks provided in the constructor in parallel using
coInvoke(tasks).
Construct and return a FJTask object that, when executed, will
invoke task1 and task2, in parallel
Two-task constructor, for compatibility with previous release.
Construct and return a FJTask object that, when executed, will
invoke the tasks in the tasks array in parallel using coInvoke
Construct a Seq that, when executed, will process each of the
tasks in the tasks array in parallel
A new Par(task1, task2)
, when executed,
runs task1 and task2 in parallel using coInvoke(task1, task2).
Return the number of parties that must meet per barrier
point.
Return the number of parties that must meet per barrier
point.
Return, but do not remove object at head of Channel,
or null if it is empty.
Return, but do not remove object at head of Channel,
or null if it is empty.
peek() - method in class EDU.oswego.cs.dl.util.concurrent.
Channel Return, but do not remove object at head of Channel,
or null if it is empty.
peek() - method in class EDU.oswego.cs.dl.util.concurrent.misc.
CVBuffer Return, but do not remove object at head of Channel,
or null if it is empty.
peek() - method in class EDU.oswego.cs.dl.util.concurrent.misc.
FIFOSlot Return, but do not remove object at head of Channel,
or null if it is empty.
Access the reference, even if not ready
peek() - method in class EDU.oswego.cs.dl.util.concurrent.
Heap Return least element without removing it, or null if empty *
Return, but do not remove object at head of Channel,
or null if it is empty.
peek() - method in class EDU.oswego.cs.dl.util.concurrent.
Slot Return, but do not remove object at head of Channel,
or null if it is empty.
Return, but do not remove object at head of Channel,
or null if it is empty.
Return the current number of available permits.
current number of available permits *
A channel based on a java.io.PipedInputStream and
java.io.PipedOutputStream.
return a Fraction representing this Fraction plus b *
return a Fraction representing this Fraction plus n *
Return and remove an item from channel only if one is available within
msecs milliseconds.
Return and remove an item from channel only if one is available within
msecs milliseconds.
Return and remove an item from channel only if one is available within
msecs milliseconds.
Return and remove an item from channel only if one is available within
msecs milliseconds.
Return and remove an item from channel only if one is available within
msecs milliseconds.
Return and remove an item from channel only if one is available within
msecs milliseconds.
Return and remove an item from channel only if one is available within
msecs milliseconds.
Return and remove an item from channel only if one is available within
msecs milliseconds.
Spin until poll returns a non-null value or time elapses.
Return a task from entry queue, or null if empty.
A tunable, extensible thread pool class.
Create a new pool with all default settings
Create a new pool that uses the supplied Channel for queuing, and
with all default parameter settings.
Create a new pool that uses the supplied Channel for queuing, and
with all default parameter settings except for maximum pool size.
Create a new pool with all default settings except
for maximum pool size.
Return a popped task, or null if DEQ is empty.
A Semaphore that grants requests to threads with higher
Thread priority rather than lower priority when there is
contention.
Create a Semaphore with the given initial number of permits.
Enqueue task at base of DEQ.
Place item in the channel, possibly waiting indefinitely until
it can be accepted.
Place item in the channel, possibly waiting indefinitely until
it can be accepted.
Place item in the channel, possibly waiting indefinitely until
it can be accepted.
Place item in the channel, possibly waiting indefinitely until
it can be accepted.
Place item in the channel, possibly waiting indefinitely until
it can be accepted.
Place item in the channel, possibly waiting indefinitely until
it can be accepted.
Place item in the channel, possibly waiting indefinitely until
it can be accepted.
Place item in the channel, possibly waiting indefinitely until
it can be accepted.
Place item in the channel, possibly waiting indefinitely until
it can be accepted.
Helper monitor for managing access to last node.
Helper monitor to handle puts.
One side of a split permit count.
This interface exists to enable stricter type checking
for channels.
rd_ - field in class EDU.oswego.cs.dl.util.concurrent.
SyncMap A ReadWriteLock that prefers waiting readers over
waiting writers when there is contention.
Number of threads that have entered read lock.
Number of acquires on read lock by any reader thread *
Return the Sync object managing read-only operations
Return the Sync object managing read-only operations
ReadWriteLocks maintain a pair of associated locks.
Status -- true after first set *
Move put permits from take side to put side;
return the number of put side permits that are available.
A lock with the same semantics as builtin
Java synchronized locks: Once a thread has a lock, it
can re-obtain it any number of times without blocking.
A writer-preference ReadWriteLock that allows both readers and
writers to reacquire
read or write locks in the style of a ReentrantLock.
Potentially enable others to pass.
Enable all current and future acquires to pass *
Potentially enable others to pass.
release() - method in class EDU.oswego.cs.dl.util.concurrent.
Sync Potentially enable others to pass.
Potentially enable others to pass.
Potentially enable others to pass.
Potentially enable others to pass.
Release the lock N times.
A rendezvous is a barrier that:
- Unlike a CyclicBarrier, is not restricted to use
with fixed-sized groups of threads.
Create a Barrier for the indicated number of parties,
and the default Rotator function to run at each barrier point.
Create a Barrier for the indicated number of parties.
Enter a rendezvous; returning after all other parties arrive.
Interface for functions run at rendezvous points
Perform some function on the objects presented at
a rendezvous.
The function to run at rendezvous point
reset() - method in class EDU.oswego.cs.dl.util.concurrent.
FJTask Clear the termination status of this task.
Start (or restart) a thread to process commands, or wake
up an existing thread if one is already running.
Start (or restart) the background thread to process commands.
The default rendezvous function.
Calls the construct
method to compute the result,
and then invokes the finished
method on the event
dispatch thread.
The runloop is isolated in its own Runnable class
just so that the main
class need not implement Runnable, which would
allow others to directly invoke run, which is not supported.
The runloop is isolated in its own Runnable class
just so that the main
class need not implement Runnable, which would
allow others to directly invoke run, which would
never make sense here.
Priority to use while running tasks *
Total number of tasks run *
Class defining Run action.
Set the policy for blocked execution to be that the current
thread executes the command if there are no available threads in
the pool.
Do all but the pop() part of yield or join, by
traversing all DEQs in our group looking for a task to
steal.
Priority to use while scanning for work *
Total number of queues scanned for work *
Same as scan, but called when current thread is idling.
Base class for counting semaphores.
Create a Semaphore with the given initial number of permits.
Abstract class for channels that use Semaphores to
control puts and takes.
Create a channel with the given capacity and default
semaphore implementation
Create a channel with the given capacity and
semaphore implementations instantiated from the supplied class
A new Seq
, when executed,
invokes each task provided in the constructor, in order.
Construct and return a FJTask object that, when executed, will
invoke task1 and task2, in order
Two-task constructor, for compatibility with previous release.
Construct and return a FJTask object that, when executed, will
invoke the tasks in the tasks array in array order
Construct a Seq that, when executed, will process each of the
tasks in the tasks array in order
A new Seq2(task1, task2)
, when executed,
invokes task1 and then task2, in order.
Set the default capacity used in
default (no-argument) constructor for BoundedChannels
that otherwise require a capacity argument.
Set the reference, and signal that it is ready.
Set active status of thread t to true, and notify others
that might be waiting for work.
Set the command to run at the point at which all threads reach the
barrier.
Set the handler for blocked execution *
Reset the capacity of this queue.
Set the exception field, also setting ready status.
Set active status of thread t to false.
Set the number of milliseconds to keep threads alive waiting for
new commands.
Set the maximum number of threads to use.
Set the minimum number of threads to use.
Set the function to call at the point at which all threads reach the
rendezvous.
Set the priority to use while a FJTaskRunner is
actively running tasks.
Set the priority to use while running tasks.
Set the priority to use while a FJTaskRunner is
polling for new tasks to perform.
Set the priority to use while scanning.
Return a Runnable object that, when run, will set the result value.
Set the factory for creating new threads.
Cancel all tasks and interrupt the background thread executing
the current task, if any.
Shutdown flag - latches true when a shutdown method is called
in order to disable queuing/handoffs of new tasks.
true if thread should shut down after processing current task *
Terminate threads after processing all elements currently in
queue.
Terminate background thread after it processes all
elements currently in queue.
Terminate threads after processing all elements currently in
queue.
Terminate background thread after it processes the
current task, removing other queued tasks and leaving them unprocessed.
Interrupt all threads and disable construction of new
threads.
Terminate background thread even if it is currently processing
a task.
Interrupt all threads and disable construction of new
threads.
Reader and Writer requests are maintained in two different
wait sets, by two different objects.
Start or wake up any threads waiting for work
Return the number of elements in the buffer.
Return the number of elements in the queue.
Return the number of FJTaskRunner threads in this group *
size() - method in class EDU.oswego.cs.dl.util.concurrent.
Heap Return number of elements *
Return the number of elements in the buffer.
size() - method in class EDU.oswego.cs.dl.util.concurrent.
SyncMap Slot - class EDU.oswego.cs.dl.util.concurrent.
Slot A one-slot buffer, using semaphores to control access.
Slot() - constructor for class EDU.oswego.cs.dl.util.concurrent.
Slot Create a new Slot using default Semaphore implementations
Create a buffer with the given capacity, using
the supplied Semaphore class for semaphores.
Temporary holder for items in exchange
Backup to handle noninlinable cases of coInvoke
Backup to handle atypical or noninlinable cases of coInvoke
Handle slow case for push
start() - method in class EDU.oswego.cs.dl.util.concurrent.
FJTask Execute this task.
Starts the worker thread.
Prints various snapshot statistics to System.out.
Total number of tasks obtained via scan *
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Subtract amount from value (i.e., set value -= amount)
Atomically swap values with another SynchronizedBoolean.
Atomically swap values with another SynchronizedByte.
Atomically swap values with another SynchronizedChar.
Atomically swap values with another SynchronizedDouble.
Atomically swap values with another SynchronizedFloat.
Atomically swap values with another SynchronizedInt.
Atomically swap values with another SynchronizedLong.
Atomically swap values with another SynchronizedRef.
Atomically swap values with another SynchronizedShort.
An abstract class that you subclass to perform GUI-related work
in a dedicated thread.
Creates new SwingWorker with no timeout.
Creates new SwingWorker with specified thread factory and timeout.
Creates new SwingWorker with specified timeout.
Sync - interface EDU.oswego.cs.dl.util.concurrent.
Sync Main interface for locks, gates, and conditions.
SyncCollections wrap Sync-based control around java.util.Collections.
Create a new SyncCollection protecting the given collection,
and using the given ReadWriteLock to control reader and writer methods.
Create a new SyncCollection protecting the given collection,
and using the given sync to control both reader and writer methods.
Create a new SyncCollection protecting the given collection,
and using the given pair of locks to control reader and writer methods.
Return the number of synchronization failures for read-only operations
Return the number of synchronization failures for read-only operations
This program records times for various fine-grained synchronization
schemes, and provides some ways of measuring them over different
context parameters.
A class useful for offloading synch for boolean instance variables.
Make a new SynchronizedBoolean with the given initial value,
and using its own internal lock.
Make a new SynchronizedBoolean with the given initial value,
and using the supplied lock.
A class useful for offloading synch for byte instance variables.
Make a new SynchronizedByte with the given initial value,
and using its own internal lock.
Make a new SynchronizedByte with the given initial value,
and using the supplied lock.
A class useful for offloading synch for char instance variables.
Make a new SynchronizedChar with the given initial value,
and using its own internal lock.
Make a new SynchronizedChar with the given initial value,
and using the supplied lock.
A class useful for offloading synch for double instance variables.
Make a new SynchronizedDouble with the given initial value,
and using its own internal lock.
Make a new SynchronizedDouble with the given initial value,
and using the supplied lock.
A class useful for offloading synch for float instance variables.
Make a new SynchronizedFloat with the given initial value,
and using its own internal lock.
Make a new SynchronizedFloat with the given initial value,
and using the supplied lock.
A class useful for offloading synch for int instance variables.
Make a new SynchronizedInt with the given initial value,
and using its own internal lock.
Make a new SynchronizedInt with the given initial value,
and using the supplied lock.
A class useful for offloading synch for long instance variables.
Make a new SynchronizedLong with the given initial value,
and using its own internal lock.
Make a new SynchronizedLong with the given initial value,
and using the supplied lock.
A simple class maintaining a single reference variable that
is always accessed and updated under synchronization.
Create a SynchronizedRef initially holding the given reference
and using its own internal lock.
Make a new SynchronizedRef with the given initial value,
and using the supplied lock.
A class useful for offloading synch for short instance variables.
Make a new SynchronizedShort with the given initial value,
and using its own internal lock.
Make a new SynchronizedShort with the given initial value,
and using the supplied lock.
Base class for simple, small classes
maintaining single values that are always accessed
and updated under synchronization.
Create a SynchronizedVariable using itself as the lock *
Create a SynchronizedVariable using the supplied lock *
A rendezvous channel, similar to those used in CSP and Ada.
SyncLists wrap Sync-based control around java.util.Lists.
Create a new SyncList protecting the given list,
and using the given ReadWriteLock to control reader and writer methods.
Create a new SyncList protecting the given collection,
and using the given sync to control both reader and writer methods.
Create a new SyncList protecting the given list,
and using the given pair of locks to control reader and writer methods.
SyncMaps wrap Sync-based control around java.util.Maps.
Create a new SyncMap protecting the given map,
and using the given ReadWriteLock to control reader and writer methods.
Create a new SyncMap protecting the given map,
and using the given sync to control both reader and writer methods.
Create a new SyncMap protecting the given map,
and using the given pair of locks to control reader and writer methods.
SyncSets wrap Sync-based control around java.util.Sets.
Create a new SyncSet protecting the given set,
and using the given ReadWriteLock to control reader and writer methods.
Create a new SyncSet protecting the given collection,
and using the given sync to control both reader and writer methods.
Create a new SyncSet protecting the given set,
and using the given pair of locks to control reader and writer methods.
SyncSortedMaps wrap Sync-based control around java.util.SortedMaps.
Create a new SyncSortedMap protecting the given map,
and using the given ReadWriteLock to control reader and writer methods.
Create a new SyncSortedMap protecting the given map,
and using the given sync to control both reader and writer methods.
Create a new SyncSortedMap protecting the given map,
and using the given pair of locks to control reader and writer methods.
SyncSortedSets wrap Sync-based control around java.util.SortedSets.
Create a new SyncSortedSet protecting the given set,
and using the given ReadWriteLock to control reader and writer methods.
Create a new SyncSortedSet protecting the given collection,
and using the given sync to control both reader and writer methods.
Create a new SyncSortedSet protecting the given set,
and using the given pair of locks to control reader and writer methods.
Pointer to last node on list *
Lock for simulating CAS for tail field *
This interface exists to enable stricter type checking
for channels.
Return and remove an item from channel,
possibly waiting indefinitely until
such an item exists.
take() - method in class EDU.oswego.cs.dl.util.concurrent.
Channel Return and remove an item from channel,
possibly waiting indefinitely until
such an item exists.
take() - method in class EDU.oswego.cs.dl.util.concurrent.misc.
CVBuffer Return and remove an item from channel,
possibly waiting indefinitely until
such an item exists.
take() - method in class EDU.oswego.cs.dl.util.concurrent.misc.
FIFOSlot Return and remove an item from channel,
possibly waiting indefinitely until
such an item exists.
Take a task from the base of the DEQ.
Return the reference and clear it *
Return and remove an item from channel,
possibly waiting indefinitely until
such an item exists.
Return and remove an item from channel,
possibly waiting indefinitely until
such an item exists.
Return and remove an item from channel,
possibly waiting indefinitely until
such an item exists.
take() - method in class EDU.oswego.cs.dl.util.concurrent.
Takable Return and remove an item from channel,
possibly waiting indefinitely until
such an item exists.
Spin until poll returns a non-null value.
Number of takes since last reconcile *
Process tasks until w is done.
Execute a task in this thread.
The thread used to process commands *
The thread used to process commands *
An implementation of Executor that creates a new
Thread that invokes the run method of the supplied command.
Interface describing any class that can generate
new Thread objects.
Base class for Executors and related classes that rely on thread factories.
The threads in this group *
The set of active threads, declared as a map from workers to
their threads.
TimedCallable runs a Callable function for a given length of time.
Wait at most msecs to access the reference.
Wait at most msecs to access the constructed result.
Wait for at most msecs for notification.
Thrown by synchronization classes that report
timeouts via exceptions.
Constructs a TimeoutException with given duration value.
Constructs a TimeoutException with the
specified duration value and detail message.
A TimeoutSync is an adaptor class that transforms all
calls to acquire to instead invoke attempt with a predetermined
timeout value.
Create a TimeoutSync using the given Sync object, and
using the given timeout value for all calls to acquire.
return a Fraction representing this Fraction times b *
return a Fraction representing this Fraction times n *
A class useful for offloading synch for boolean instance variables.
Make a new WaitableBoolean with the given initial value *
Make a new WaitableBoolean with the given initial value,
and using the supplied lock.
A class useful for offloading waiting and signalling operations
on single byte variables.
Make a new WaitableByte with the given initial value,
and using its own internal lock.
Make a new WaitableByte with the given initial value,
and using the supplied lock.
A class useful for offloading waiting and signalling operations
on single char variables.
Make a new WaitableChar with the given initial value,
and using its own internal lock.
Make a new WaitableChar with the given initial value,
and using the supplied lock.
A class useful for offloading waiting and signalling operations
on single double variables.
Make a new WaitableDouble with the given initial value,
and using its own internal lock.
Make a new WaitableDouble with the given initial value,
and using the supplied lock.
A class useful for offloading waiting and signalling operations
on single float variables.
Make a new WaitableFloat with the given initial value,
and using its own internal lock.
Make a new WaitableFloat with the given initial value,
and using the supplied lock.
A class useful for offloading waiting and signalling operations
on single int variables.
Make a new WaitableInt with the given initial value,
and using its own internal lock.
Make a new WaitableInt with the given initial value,
and using the supplied lock.
A class useful for offloading waiting and signalling operations
on single long variables.
Make a new WaitableLong with the given initial value,
and using its own internal lock.
Make a new WaitableLong with the given initial value,
and using the supplied lock.
A class useful for offloading synch for Object reference instance variables.
Create a WaitableRef initially holding the given reference
and using its own internal lock.
Make a new WaitableRef with the given initial value,
and using the supplied lock.
A class useful for offloading waiting and signalling operations
on single short variables.
Make a new WaitableShort with the given initial value,
and using its own internal lock.
Make a new WaitableShort with the given initial value,
and using the supplied lock.
An implementation of counting Semaphores that
enforces enough fairness for applications that
need to avoid indefinite overtaking without
necessarily requiring FIFO ordered access.
Create a Semaphore with the given initial number of permits.
A wait-free linked list based queue implementation.
The number of threads waiting for a take.
Base class for internal queue classes for semaphores, etc.
Number of waiting threads *
Class defining Wait action.
Set the policy for blocked execution to be to wait until a thread
is available, unless the pool has been shut down, in which case
the action is discarded.
Wait until value equals c, then run action if nonnull.
Wait until value equals c, then run action if nonnull.
Wait until value equals c, then run action if nonnull.
Wait until value equals c, then run action if nonnull.
Wait until value equals c, then run action if nonnull.
Wait until value equals c, then run action if nonnull.
Wait until value equals c, then run action if nonnull.
Wait until value equals c, then run action if nonnull.
Wait until value equals c, then run action if nonnull.
Wait until value is false, then run action if nonnull.
wait until value greater than c, then run action if nonnull.
wait until value greater than c, then run action if nonnull.
wait until value greater than c, then run action if nonnull.
wait until value greater than c, then run action if nonnull.
wait until value greater than c, then run action if nonnull.
wait until value greater than c, then run action if nonnull.
wait until value greater than c, then run action if nonnull.
wait until value greater than or equal to c, then run action if nonnull.
wait until value greater than or equal to c, then run action if nonnull.
wait until value greater than or equal to c, then run action if nonnull.
wait until value greater than or equal to c, then run action if nonnull.
wait until value greater than or equal to c, then run action if nonnull.
wait until value greater than or equal to c, then run action if nonnull.
wait until value greater than or equal to c, then run action if nonnull.
wait until value less than c, then run action if nonnull.
wait until value less than c, then run action if nonnull.
wait until value less than c, then run action if nonnull.
wait until value less than c, then run action if nonnull.
wait until value less than c, then run action if nonnull.
wait until value less than c, then run action if nonnull.
wait until value less than c, then run action if nonnull.
wait until value less than or equal to c, then run action if nonnull.
wait until value less than or equal to c, then run action if nonnull.
wait until value less than or equal to c, then run action if nonnull.
wait until value less than or equal to c, then run action if nonnull.
wait until value less than or equal to c, then run action if nonnull.
wait until value less than or equal to c, then run action if nonnull.
wait until value less than or equal to c, then run action if nonnull.
wait until value not equal to c, then run action if nonnull.
wait until value not equal to c, then run action if nonnull.
wait until value not equal to c, then run action if nonnull.
wait until value not equal to c, then run action if nonnull.
wait until value not equal to c, then run action if nonnull.
wait until value not equal to c, then run action if nonnull.
wait until value not equal to c, then run action if nonnull.
wait until value not equal to c, then run action if nonnull.
wait until value not equal to c, then run action if nonnull.
wait until value is nonnull, then run action if nonnull.
Wait until value is null, then run action if nonnull.
wait until value is true, then run action if nonnull.
Class defining the basic run loop for pooled threads.
Cleanup method called upon termination of worker thread.
wr_ - field in class EDU.oswego.cs.dl.util.concurrent.
SyncMap A FJTask that holds a Runnable r, and calls r.run when executed.
Number of acquires on write lock by activeWriter_ thread *
A ReadWriteLock that prefers waiting writers over
waiting readers when there is contention.
Return the Sync object managing mutative operations
Return the Sync object managing mutative operations