Package org.jctools.queues.blocking
Class BlockingQueueFactory
- java.lang.Object
-
- org.jctools.queues.blocking.BlockingQueueFactory
-
public class BlockingQueueFactory extends java.lang.Object
The queue factory producesQueue
instances based on a best fit to theConcurrentQueueSpec
. This allows minimal dependencies between user code and the queue implementations and gives users a way to express their requirements on a higher level.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BlockingQueueFactory.BlockingModel
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<java.lang.Class,java.lang.Class>
blockingQueueCache
-
Constructor Summary
Constructors Constructor Description BlockingQueueFactory()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static <E> java.util.concurrent.BlockingQueue<E>
getBlockingQueueFrom(java.lang.Class<? extends java.util.Queue> queueClass, java.lang.Class<? extends TakeStrategy> takeStrat, java.lang.Class<? extends PutStrategy> putStrat, int capacity)
static <E> java.util.concurrent.BlockingQueue<E>
newBlockingQueue(ConcurrentQueueSpec qs)
static <E> java.util.concurrent.BlockingQueue<E>
newBlockingQueue(ConcurrentQueueSpec qs, java.lang.Class<? extends TakeStrategy> takeStratClass, java.lang.Class<? extends PutStrategy> putStratClass)
-
-
-
Method Detail
-
newBlockingQueue
public static <E> java.util.concurrent.BlockingQueue<E> newBlockingQueue(ConcurrentQueueSpec qs)
-
newBlockingQueue
public static <E> java.util.concurrent.BlockingQueue<E> newBlockingQueue(ConcurrentQueueSpec qs, java.lang.Class<? extends TakeStrategy> takeStratClass, java.lang.Class<? extends PutStrategy> putStratClass)
-
getBlockingQueueFrom
private static <E> java.util.concurrent.BlockingQueue<E> getBlockingQueueFrom(java.lang.Class<? extends java.util.Queue> queueClass, java.lang.Class<? extends TakeStrategy> takeStrat, java.lang.Class<? extends PutStrategy> putStrat, int capacity)
-
-