Heim > Java > javaLernprogramm > Hauptteil

Java-Ausnahmeprogrammierung, FutureTask-Instanzanalyse

WBOY
Freigeben: 2023-06-03 17:10:05
nach vorne
1462 Leute haben es durchsucht

Erklärung

1. Die FutureTask-Klasse implementiert nicht nur die Future-Schnittstelle, sondern auch die Runnable-Schnittstelle, die ein Runnable darstellt, das Ergebnisse generieren kann.

2. Die FutureTask-Klasse implementiert die Methoden der Future-Schnittstelle zum Starten und Abbrechen von Aufgaben, zum Abfragen, ob die Aufgabe abgeschlossen ist, und zum Erhalten von Berechnungsergebnissen.

Um die Ergebnisse der FutureTask-Aufgabe zu erhalten, können wir sie nur abrufen, indem wir die Methodenreihe getXXX() aufrufen. Diese Methoden werden blockiert, wenn die Ergebnisse noch nicht ausgegeben wurden Aufrufbarer Typ (mit zurückgegebenen Ergebnissen) oder Ist ein ausführbarer Typ (kein Rückgabeergebnis).

Instanzen

private static void testFutureTask() throws ExecutionException, InterruptedException {
    System.out.println("-------------------- testFutureTask --------------------");
 
    // 创建一个 FutureTask(doOneThing 任务)
    FutureTask<String> futureTask = new FutureTask<>(FutureTaskDemo::doOneThing);
    // 使用线程池执行 doOneThing 任务
    ForkJoinPool.commonPool().execute(futureTask);
 
    // 执行 doOtherThing 任务
    String doOtherThingResult = doOtherThing();
 
    // 同步等待线程执行 doOneThing 任务结束
    String doOneThingResult = futureTask.get();
 
    // 任务执行结果输出
    System.out.println("doOneThingResult ---->>> " + doOneThingResult);
    System.out.println("doOtherThingResult ---->>> " + doOtherThingResult);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonJava-Ausnahmeprogrammierung, FutureTask-Instanzanalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage