Mam obiekt ExecutorService puli pojedynczego wątku. W przyszłości w przyszłości zadania będą dodawane za pomocą metody submit(). Rozumiem, że zgłoszenie zostanie przesłane, dodaj przedłożoną wersję roboczą do końca listy zadań do wykonania. Jednak mam sytuację, w której w oparciu o boolean mogę chcieć przekazać uruchamianie do przodu zadań do wykonania. Nie chcę, aby to miało wpływ na bieżące zadanie, tylko że następnym zadaniem będzie to, które właśnie dałem. Przykładową metodę przedstawiono poniżej. Jak mam to zrobic?Java interject Runnable objects do ExecutorService
Dzięki
private ExecutorService singleLoadPool = Executors.newSingleThreadExecutor();
public void submitTask(Runnable run, boolean doNow) {
if (doNow)
singleLoadPool.submitFront(run); // This is the method I'm looking for
else
singleLoadPool.submit(run);
}
To jest dokładnie to, czego potrzebuję, dzięki – Jon
Lepsze niż moje rozwiązanie :) –
Więc miałem zamiar zaimplementować to i mam jeszcze jedno pytanie, jak dokładnie dodać zadania do kolejki? Czy muszę przesłonić ThreadPoolExecutor, ponieważ nie mogę po prostu dodać obiektów Runnable do LinkedBlockingDeque? – Jon