Package ai.preferred.venom.job
Class LazyPriorityJobQueue
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<Job>
-
- ai.preferred.venom.job.AbstractJobQueue
-
- ai.preferred.venom.job.AbstractPriorityJobQueue
-
- ai.preferred.venom.job.LazyPriorityJobQueue
-
- All Implemented Interfaces:
Iterable<Job>
,Collection<Job>
,BlockingQueue<Job>
,Queue<Job>
- Direct Known Subclasses:
LazyScheduler
public class LazyPriorityJobQueue extends AbstractPriorityJobQueue
This class provides and implementation of scheduler with a priority sensitive queue and polls from iterator when queue is empty.Jobs in queue will be processed first in order of higher priority, followed by requests in the iterator.
- Author:
- Maksim Tkachenko, Ween Jiann Lee
-
-
Constructor Summary
Constructors Constructor Description LazyPriorityJobQueue(Iterator<Request> requests)
Constructs an instance of lazy scheduler without a default handler.LazyPriorityJobQueue(Iterator<Request> requests, Handler handler)
Constructs an instance of lazy scheduler with a default handler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isEmpty()
Job
poll()
Job
poll(long time, TimeUnit unit)
-
Methods inherited from class ai.preferred.venom.job.AbstractPriorityJobQueue
offer, offer, put
-
Methods inherited from class ai.preferred.venom.job.AbstractJobQueue
drainTo, drainTo, getQueue, iterator, peek, remainingCapacity, size, take
-
Methods inherited from class java.util.AbstractCollection
contains, containsAll, remove, removeAll, retainAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.concurrent.BlockingQueue
add, contains, remove
-
Methods inherited from interface java.util.Collection
addAll, clear, containsAll, equals, hashCode, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray
-
-
-
-
Method Detail
-
poll
public final Job poll(long time, @Nonnull TimeUnit unit) throws InterruptedException
- Throws:
InterruptedException
-
poll
public final Job poll()
-
isEmpty
public final boolean isEmpty()
- Specified by:
isEmpty
in interfaceCollection<Job>
- Overrides:
isEmpty
in classAbstractCollection<Job>
-
-