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 int
storeFence
private java.lang.Thread
waiting
private 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 void
signal()
boolean
supportsSpec(ConcurrentQueueSpec qs)
E
waitPoll(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:
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>
-
-