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
public abstract class AbstractWaitingCondition extends java.lang.Object implements Condition
Created by jcairns on 12/11/14.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) longc1(package private) longc2(package private) longc3(package private) longc4(package private) longc5(package private) longc6(package private) longc7(package private) longc8private static intCACHE_LINE_REFSprivate static intMAX_WAITERS(package private) longr1(package private) longr2(package private) longr3(package private) longr4(package private) longr5(package private) longr6(package private) longr7private static longWAIT_TIMEprivate longwaitCacheprivate java.util.concurrent.atomic.LongAdderwaitCountprivate java.util.concurrent.atomic.AtomicReferenceArray<java.lang.Thread>waiterprivate static longWAITER_MASK-
Fields inherited from interface com.conversantmedia.util.concurrent.Condition
MAX_PROG_YIELD, PARK_TIMEOUT
-
-
Constructor Summary
Constructors Constructor Description AbstractWaitingCondition()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidawait()voidawaitNanos(long timeout)voidsignal()abstract booleantest()code below will block until test() returns false
-
-
-
Field Detail
-
CACHE_LINE_REFS
private static final int CACHE_LINE_REFS
-
MAX_WAITERS
private static final int MAX_WAITERS
- See Also:
- Constant Field Values
-
WAITER_MASK
private static final long WAITER_MASK
- See Also:
- Constant Field Values
-
WAIT_TIME
private static final long WAIT_TIME
- See Also:
- Constant Field Values
-
waitCount
private final java.util.concurrent.atomic.LongAdder waitCount
-
waiter
private final java.util.concurrent.atomic.AtomicReferenceArray<java.lang.Thread> 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
-
-
Method Detail
-
test
public abstract boolean test()
code below will block until test() returns false
-
awaitNanos
public void awaitNanos(long timeout) throws java.lang.InterruptedException- Specified by:
awaitNanosin interfaceCondition- Throws:
java.lang.InterruptedException
-
await
public void await() throws java.lang.InterruptedException
-
-