@Override public long getMaxWaitForLowPriority() { return getQueueManager().getMaxWaitForLowPriority(); }
/** * Changes the max wait time for low priority tasks. This is the amount of time that a low * priority task will wait if there are ready to execute high priority tasks. After a low * priority task has waited this amount of time, it will be executed fairly with high priority * tasks (meaning it will only execute the high priority task if it has been waiting longer than * the low priority task). * * @param maxWaitForLowPriorityInMs new wait time in milliseconds for low priority tasks during thread contention */ public void setMaxWaitForLowPriority(long maxWaitForLowPriorityInMs) { getQueueManager().setMaxWaitForLowPriority(maxWaitForLowPriorityInMs); }
/** * Changes the max wait time for low priority tasks. This is the amount of time that a low * priority task will wait if there are ready to execute high priority tasks. After a low * priority task has waited this amount of time, it will be executed fairly with high priority * tasks (meaning it will only execute the high priority task if it has been waiting longer than * the low priority task). * * @param maxWaitForLowPriorityInMs new wait time in milliseconds for low priority tasks during thread contention */ public void setMaxWaitForLowPriority(long maxWaitForLowPriorityInMs) { getQueueManager().setMaxWaitForLowPriority(maxWaitForLowPriorityInMs); }
@Override public long getMaxWaitForLowPriority() { return getQueueManager().getMaxWaitForLowPriority(); }
@Override public boolean remove(Runnable task) { return getQueueManager().remove(task); }
@Override public boolean remove(Callable<?> task) { return getQueueManager().remove(task); }
@Override public boolean remove(Runnable task) { return getQueueManager().remove(task); }
@Override public boolean remove(Callable<?> task) { return getQueueManager().remove(task); }
@Override public int getQueuedTaskCount(TaskPriority priority) { if (priority == null) { return getQueuedTaskCount(); } return getQueueManager().getQueueSet(priority).queueSize(); }
@Override public int getQueuedTaskCount() { int result = 0; for (TaskPriority p : TaskPriority.values()) { result += getQueueManager().getQueueSet(p).queueSize(); } return result; }
@Override public int getQueuedTaskCount(TaskPriority priority) { if (priority == null) { return getQueuedTaskCount(); } return getQueueManager().getQueueSet(priority).queueSize(); }
@Override public int getQueuedTaskCount() { int result = 0; for (TaskPriority p : TaskPriority.values()) { result += getQueueManager().getQueueSet(p).queueSize(); } return result; }
@Override public void run() { if (testRunning.get()) { while (scheduler.getQueueManager().getQueueSet(TaskPriority.High).executeQueue.size() < 5) { scheduler.execute(this, TaskPriority.High); } } } }.run();
@Override public int getWaitingForExecutionTaskCount(TaskPriority priority) { if (priority == null) { return getWaitingForExecutionTaskCount(); } QueueSet qs = getQueueManager().getQueueSet(priority); int result = qs.executeQueue.size(); for (int i = 0; i < qs.scheduleQueue.size(); i++) { try { if (qs.scheduleQueue.get(i).getScheduleDelay() > 0) { break; } else { result++; } } catch (IndexOutOfBoundsException e) { break; } } return result; }
@Override public int getWaitingForExecutionTaskCount(TaskPriority priority) { if (priority == null) { return getWaitingForExecutionTaskCount(); } QueueSet qs = getQueueManager().getQueueSet(priority); int result = qs.executeQueue.size(); for (int i = 0; i < qs.scheduleQueue.size(); i++) { try { if (qs.scheduleQueue.get(i).getScheduleDelay() > 0) { break; } else { result++; } } catch (IndexOutOfBoundsException e) { break; } } return result; }
AbstractPriorityScheduler result = factory.makeAbstractPriorityScheduler(1); result.getQueueManager().getQueueSet(TaskPriority.High) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .scheduleQueue.add(0, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .scheduleQueue.add(1, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis() + 1000)); result.getQueueManager().getQueueSet(TaskPriority.Low) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Low) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Low) .scheduleQueue.add(0, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Low) .scheduleQueue.add(1, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis() + 1000));
AbstractPriorityScheduler result = factory.makeAbstractPriorityScheduler(1); result.getQueueManager().getQueueSet(TaskPriority.High) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .scheduleQueue.add(0, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .scheduleQueue.add(1, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis() + 1000)); result.getQueueManager().getQueueSet(TaskPriority.Low) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Low) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Low) .scheduleQueue.add(0, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Low) .scheduleQueue.add(1, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis() + 1000));
AbstractPriorityScheduler result = factory.makeAbstractPriorityScheduler(1); result.getQueueManager().getQueueSet(TaskPriority.High) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .scheduleQueue.add(0, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .scheduleQueue.add(1, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis() + 1000)); result.getQueueManager().getQueueSet(TaskPriority.Starvable) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Starvable) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Starvable) .scheduleQueue.add(0, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Starvable) .scheduleQueue.add(1, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis() + 1000));
AbstractPriorityScheduler result = factory.makeAbstractPriorityScheduler(1); result.getQueueManager().getQueueSet(TaskPriority.High) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .scheduleQueue.add(0, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.High) .scheduleQueue.add(1, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis() + 1000)); result.getQueueManager().getQueueSet(TaskPriority.Low) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Low) .executeQueue.add(new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Low) .scheduleQueue.add(0, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis())); result.getQueueManager().getQueueSet(TaskPriority.Low) .scheduleQueue.add(1, new OneTimeTaskWrapper(DoNothingRunnable.instance(), null, Clock.lastKnownForwardProgressingMillis() + 1000));