private void prioritizedEnqueue(Item item) { getQueue().add(item); item.enqueued = true; }
Task askForWork(Processor worker, String debug) { if (getQueue().isEmpty() || (stopped && !finishAwaitingTasks)) { // no more work in this burst, return him processors.remove(worker); Processor.put(worker, debug); running--; return null; } else { // we have some work for the worker, pass it Item i = getQueue().first(); getQueue().remove(i); Task t = i.getTask(); i.clear(worker); return t; } }
/** * {@inheritDoc} * @throws an IllegalStateException if called on the * {@linkplain #getDefault default request processor} * @since org.openide.util 8.2 */ @Override public List<Runnable> shutdownNow() { if (this == UNLIMITED) { throw new IllegalStateException ("Cannot shut down the default " + //NOI18N "request processor"); //NOI18N } //XXX more aggressive shutdown? stop(); synchronized (processorLock) { List<Runnable> result = new ArrayList<Runnable>(getQueue().size()); for (Item item : getQueue()) { Task task = item.getTask(); if (task != null && task.run != null) { Runnable r = task.run; if (r instanceof RunnableWrapper) { Runnable other = ((RunnableWrapper) r).getRunnable(); r = other == null ? r : other; } result.add(r); } } return result; } }
Task askForWork(Processor worker, String debug) { if (getQueue().isEmpty() || (stopped && !finishAwaitingTasks)) { // no more work in this burst, return him processors.remove(worker); Processor.put(worker, debug); running--; return null; } else { // we have some work for the worker, pass it Item i = getQueue().remove(0); Task t = i.getTask(); i.clear(worker); return t; } }
private void prioritizedEnqueue(Item item) { int iprio = item.getPriority(); if (getQueue().isEmpty()) { getQueue().add(item); item.enqueued = true; return; } else if (iprio <= getQueue().get(getQueue().size() - 1).getPriority()) { getQueue().add(item); item.enqueued = true; } else { for (ListIterator<Item> it = getQueue().listIterator(); it.hasNext();) { Item next = it.next(); if (iprio > next.getPriority()) { it.set(item); it.add(next); item.enqueued = true; return; } } throw new IllegalStateException("Prioritized enqueue failed!"); } }
/** * {@inheritDoc} * @throws an IllegalStateException if called on the * {@linkplain #getDefault default request processor} * @since org.openide.util 8.2 */ @Override public List<Runnable> shutdownNow() { if (this == UNLIMITED) { throw new IllegalStateException ("Cannot shut down the default " + //NOI18N "request processor"); //NOI18N } //XXX more aggressive shutdown? stop(); synchronized (processorLock) { List<Runnable> result = new ArrayList<Runnable>(getQueue().size()); for (Item item : getQueue()) { Task task = item.getTask(); if (task != null && task.run != null) { Runnable r = task.run; if (r instanceof RunnableWrapper) { Runnable other = ((RunnableWrapper) r).getRunnable(); r = other == null ? r : other; } result.add(r); } } return result; } }