konvertieren Ich habe eine Klasse, die die aufrufbare Schnittstelle implementiert. Ich möchte eine Aufgabe für die Klasse mithilfe der Methode "scheduledExecutorService" planen. Allerdings benötigt scheduleAtFixedRate ein lauffähiges Objekt als einen Befehl, den es einplanen kann.Wie können wir eine Callable in eine runnable
Daher brauche ich eine Möglichkeit, in der ich ein Callable zu einem Runnable konvertieren kann. Ich habe versucht, einfach zu Casting, aber das funktioniert nicht.
SAMPLE CODE:
package org.study.threading.executorDemo;
import java.util.concurrent.Callable;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
class ScheduledExecutionTest implements Callable<String> {
@Override
public String call() throws Exception {
// TODO Auto-generated method stub
System.out.println("inside the call method");
return null;
}
}
public class ScheduledExecution {
public static void main(String[] args) {
ScheduledExecutorService sec = Executors.newScheduledThreadPool(10);
sec.scheduleAtFixedRate(new ScheduledExecutionTest(), 5, 2, TimeUnit.SECONDS);
}
}
funktioniert 'Callable, Runnable' funktioniert nicht? Ich habe noch nie zuvor beides versucht. – Zircon
Der Zweck eines 'Callable' ist es, einen Wert zurückzugeben. Warum würden Sie einen Wert zurückgeben, den Sie zu einem festen Satz verwerfen möchten? –
Setzen Sie @ PeterLawreys Kommentar auf eine andere Weise, was wollen Sie mit dem Wert tun, der von Callable zurückgegeben wird? – dcsohl