Java Concurrency - Executor-Schnittstelle
Eine java.util.concurrent.Executor-Schnittstelle ist eine einfache Schnittstelle zur Unterstützung des Startens neuer Aufgaben.
ExecutorService-Methoden
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | void execute(Runnable command) Führt den angegebenen Befehl zu einem späteren Zeitpunkt aus. |
Beispiel
Das folgende TestThread-Programm zeigt die Verwendung der Executor-Schnittstelle in einer threadbasierten Umgebung.
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class TestThread {
public static void main(final String[] arguments) throws InterruptedException {
Executor executor = Executors.newCachedThreadPool();
executor.execute(new Task());
ThreadPoolExecutor pool = (ThreadPoolExecutor)executor;
pool.shutdown();
}
static class Task implements Runnable {
public void run() {
try {
Long duration = (long) (Math.random() * 5);
System.out.println("Running Task!");
TimeUnit.SECONDS.sleep(duration);
System.out.println("Task Completed");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Dies führt zu folgendem Ergebnis.
Ausgabe
Running Task!
Task Completed