Package org.jctools.queues.blocking
Class McParkTakeStrategy<E>
- java.lang.Object
-
- org.jctools.queues.blocking.McParkTakeStrategy<E>
-
- All Implemented Interfaces:
TakeStrategy<E>
public final class McParkTakeStrategy<E> extends java.lang.Object implements TakeStrategy<E>
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Object
obj
private long
waiters
private static java.util.concurrent.atomic.AtomicLongFieldUpdater<McParkTakeStrategy>
WAITERS_UPDATER
-
Constructor Summary
Constructors Constructor Description McParkTakeStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
signal()
boolean
supportsSpec(ConcurrentQueueSpec qs)
E
waitPoll(java.util.Queue<E> q)
-
-
-
Field Detail
-
WAITERS_UPDATER
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<McParkTakeStrategy> WAITERS_UPDATER
-
waiters
private volatile long waiters
-
obj
private final java.lang.Object obj
-
-
Method Detail
-
signal
public void signal()
- Specified by:
signal
in interfaceTakeStrategy<E>
-
waitPoll
public E waitPoll(java.util.Queue<E> q) throws java.lang.InterruptedException
- Specified by:
waitPoll
in interfaceTakeStrategy<E>
- Throws:
java.lang.InterruptedException
-
supportsSpec
public boolean supportsSpec(ConcurrentQueueSpec qs)
- Specified by:
supportsSpec
in interfaceTakeStrategy<E>
-
-