1 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject* *AbstractQueuedSynchronizer.ConditionObject*
3 public class AbstractQueuedSynchronizer.ConditionObject
4 extends |java.lang.Object|
5 implements |java.util.concurrent.locks.Condition|
8 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject_Description|
9 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject_Fields|
10 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject_Constructors|
11 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject_Methods|
13 ================================================================================
15 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject_Constructors*
16 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject()|Create
18 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject_Methods*
19 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.await()|
20 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.await(long,TimeUnit)|
21 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.awaitNanos(long)|
22 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.awaitUninterruptibly()|
23 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.awaitUntil(Date)|
24 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.getWaitingThreads()|
25 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.getWaitQueueLength()|
26 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.hasWaiters()|
27 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.signal()|
28 |java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.signalAll()|
30 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject_Description*
32 Condition implementation for a
33 (|java.util.concurrent.locks.AbstractQueuedSynchronizer|) serving as the basis
34 of a (|java.util.concurrent.locks.Lock|) implementation.
36 Method documentation for this class describes mechanics, not behavioral
37 specifications from the point of view of Lock and Condition users. Exported
38 versions of this class will in general need to be accompanied by documentation
39 describing condition semantics that rely on those of the associated
40 AbstractQueuedSynchronizer.
42 This class is Serializable, but all fields are transient, so deserialized
43 conditions have no waiters.
46 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject()*
48 public AbstractQueuedSynchronizer.ConditionObject()
50 Creates a new ConditionObject instance.
53 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.await()*
55 public final void await()
56 throws |java.lang.InterruptedException|
58 Implements interruptible condition wait.
60 If current thread is interrupted, throw InterruptedException Save lock state
62 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|)
64 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|) with
65 saved state as argument, throwing IllegalMonitorStateException if it fails.
66 Block until signalled or interrupted Reacquire by invoking specialized version
67 of (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|)
68 with saved state as argument. If interrupted while blocked in step 4, throw
72 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.await(long,TimeUnit)*
74 public final boolean await(
76 java.util.concurrent.TimeUnit unit)
77 throws |java.lang.InterruptedException|
79 Implements timed condition wait.
81 If current thread is interrupted, throw InterruptedException Save lock state
83 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|)
85 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|) with
86 saved state as argument, throwing IllegalMonitorStateException if it fails.
87 Block until signalled, interrupted, or timed out Reacquire by invoking
88 specialized version of
89 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|) with
90 saved state as argument. If interrupted while blocked in step 4, throw
91 InterruptedException If timed out while blocked in step 4, return false, else
95 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.awaitNanos(long)*
97 public final long awaitNanos(long nanosTimeout)
98 throws |java.lang.InterruptedException|
100 Implements timed condition wait.
102 If current thread is interrupted, throw InterruptedException Save lock state
104 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|)
106 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|) with
107 saved state as argument, throwing IllegalMonitorStateException if it fails.
108 Block until signalled, interrupted, or timed out Reacquire by invoking
109 specialized version of
110 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|) with
111 saved state as argument. If interrupted while blocked in step 4, throw
115 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.awaitUninterruptibly()*
117 public final void awaitUninterruptibly()
119 Implements uninterruptible condition wait.
121 Save lock state returned by
122 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|)
124 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|) with
125 saved state as argument, throwing IllegalMonitorStateException if it fails.
126 Block until signalled Reacquire by invoking specialized version of
127 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|) with
128 saved state as argument.
131 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.awaitUntil(Date)*
133 public final boolean awaitUntil(java.util.Date deadline)
134 throws |java.lang.InterruptedException|
136 Implements absolute timed condition wait.
138 If current thread is interrupted, throw InterruptedException Save lock state
140 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|)
142 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|) with
143 saved state as argument, throwing IllegalMonitorStateException if it fails.
144 Block until signalled, interrupted, or timed out Reacquire by invoking
145 specialized version of
146 (|java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject|) with
147 saved state as argument. If interrupted while blocked in step 4, throw
148 InterruptedException If timed out while blocked in step 4, return false, else
152 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.getWaitingThreads()*
154 protected final |java.util.Collection| getWaitingThreads()
156 Returns a collection containing those threads that may be waiting on this
157 Condition. Implements (|java.util.concurrent.locks.AbstractQueuedSynchronizer|)
160 Returns: the collection of threads
161 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.getWaitQueueLength()*
163 protected final int getWaitQueueLength()
165 Returns an estimate of the number of threads waiting on this condition.
166 Implements (|java.util.concurrent.locks.AbstractQueuedSynchronizer|)
169 Returns: the estimated number of waiting threads.
170 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.hasWaiters()*
172 protected final boolean hasWaiters()
174 Queries whether any threads are waiting on this condition. Implements
175 (|java.util.concurrent.locks.AbstractQueuedSynchronizer|)
178 Returns: true if there are any waiting threads.
179 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.signal()*
181 public final void signal()
183 Moves the longest-waiting thread, if one exists, from the wait queue for this
184 condition to the wait queue for the owning lock.
187 *java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject.signalAll()*
189 public final void signalAll()
191 Moves all threads from the wait queue for this condition to the wait queue for