Package org.jctools.queues.blocking
Class ScParkTakeStrategy<E>
- java.lang.Object
-
- org.jctools.queues.blocking.ScParkTakeStrategy<E>
-
- All Implemented Interfaces:
TakeStrategy<E>
public final class ScParkTakeStrategy<E> extends java.lang.Object implements TakeStrategy<E>
-
-
Field Summary
Fields Modifier and Type Field Description intstoreFenceprivate java.lang.Threadwaitingprivate static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<ScParkTakeStrategy,java.lang.Thread>WAITING_UPDATER
-
Constructor Summary
Constructors Constructor Description ScParkTakeStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidsignal()booleansupportsSpec(ConcurrentQueueSpec qs)EwaitPoll(java.util.Queue<E> q)
-
-
-
Field Detail
-
WAITING_UPDATER
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<ScParkTakeStrategy,java.lang.Thread> WAITING_UPDATER
-
storeFence
public volatile int storeFence
-
waiting
private volatile java.lang.Thread waiting
-
-
Method Detail
-
signal
public void signal()
- Specified by:
signalin interfaceTakeStrategy<E>
-
waitPoll
public E waitPoll(java.util.Queue<E> q) throws java.lang.InterruptedException
- Specified by:
waitPollin interfaceTakeStrategy<E>- Throws:
java.lang.InterruptedException
-
supportsSpec
public boolean supportsSpec(ConcurrentQueueSpec qs)
- Specified by:
supportsSpecin interfaceTakeStrategy<E>
-
-