Meine Klasse erweitert DownloadTask
javafx.concurrent.Task<Boolean>
zu einem ExecutorService
Zukunft <T> nicht mit Klasse-kompatibel, der Aufgabe <T> in Java Executor Dienst
Nach dem Absenden meiner Aufgabe erstreckt, versuche ich Future<Boolean>
das Ergebnis in eine Variable vom Typ zuzuordnen. Die IDE warnt mich jedoch, dass mein instanziiertes Objekt den generischen Typ <capture<?>>
hat und ich weiß nicht warum. Meine Klasse
DownloadTask
:
import javafx.concurrent.Task;
private class DownloadTask extends Task<Boolean>{
public DownloadTask() {}
@Override
protected Boolean call() throws Exception {
return true;
}
}
Wie ich den Thread-Pool verwalten:
ExecutorService executor = Executors.newFixedThreadPool(10);
ArrayList<Future<Boolean>> resultList = new ArrayList<>();
for (ScheduleRow scheduleRow : queArray) {
DownloadTask downloadTask = new DownloadTask();
Future<Boolean> result = executor.submit(downloadTask); //incompatible types
resultList.add(result);
}
executor.shutdown();
Was ist die 'Task' Klasse hier? –
Vermutlich ist das Problem, dass 'Task implementiert Runnable', nicht 'Callable ', so dass es eine 'Zukunft >' zurückgibt. –
@AndyTurner Hallo. Ich bin mir nicht sicher, ob ich das verstehe. Nach dem, was ich gelesen habe, kann ich eine Aufgabe verwenden und sie aufrufen, indem ich sie dem Executor vorlege. Ich bin neu, also verstehe ich es kaum. –