Class AbstractWaitingCondition
java.lang.Object
com.conversantmedia.util.concurrent.AbstractWaitingCondition
- All Implemented Interfaces:
Condition
- Direct Known Subclasses:
ConcurrentStack.WaitingStackNotEmpty
,ConcurrentStack.WaitingStackNotFull
,DisruptorBlockingQueue.WaitingQueueNotEmpty
,DisruptorBlockingQueue.WaitingQueueNotFull
,MPMCBlockingQueue.WaitingQueueNotEmpty
,MPMCBlockingQueue.WaitingQueueNotFull
,PushPullBlockingQueue.WaitingQueueNotEmpty
,PushPullBlockingQueue.WaitingQueueNotFull
Created by jcairns on 12/11/14.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
private static final int
private static final int
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
private static final long
private long
private final LongAdder
private final AtomicReferenceArray
<Thread> private static final long
Fields inherited from interface com.conversantmedia.util.concurrent.Condition
MAX_PROG_YIELD, PARK_TIMEOUT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
await()
void
awaitNanos
(long timeout) void
signal()
abstract boolean
test()
code below will block until test() returns false
-
Field Details
-
CACHE_LINE_REFS
private static final int CACHE_LINE_REFS -
MAX_WAITERS
private static final int MAX_WAITERS- See Also:
-
WAITER_MASK
private static final long WAITER_MASK- See Also:
-
WAIT_TIME
private static final long WAIT_TIME- See Also:
-
waitCount
-
waiter
-
r1
long r1 -
r2
long r2 -
r3
long r3 -
r4
long r4 -
r5
long r5 -
r6
long r6 -
r7
long r7 -
waitCache
private long waitCache -
c1
long c1 -
c2
long c2 -
c3
long c3 -
c4
long c4 -
c5
long c5 -
c6
long c6 -
c7
long c7 -
c8
long c8
-
-
Constructor Details
-
AbstractWaitingCondition
public AbstractWaitingCondition()
-
-
Method Details
-
test
public abstract boolean test()code below will block until test() returns false -
awaitNanos
- Specified by:
awaitNanos
in interfaceCondition
- Throws:
InterruptedException
-
await
- Specified by:
await
in interfaceCondition
- Throws:
InterruptedException
-
signal
public void signal()
-