Rumah >Java >javaTutorial >Kaedah dan contoh penggunaan CompletableFuture dalam Java
Penjelasan
1 Kelas CompletableFuture telah diperkenalkan dalam JDK 8, yang melaksanakan antara muka Masa Depan dan CompletionStage
Menyediakan satu siri kaedah untuk pengaturcaraan tak segerak. seperti supplyAsync , runAsync dan kemudianApplyAsync, dsb.
2. Fungsi ini membolehkan dua atau lebih melakukan operasi untuk menghasilkan keputusan.
Contoh
/** * @author mghio * @since 2021-08-01 */ public class CompletableFutureDemo { public static CompletableFuture<String> doOneThing() { return CompletableFuture.supplyAsync(() -> { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } return "doOneThing"; }); } public static CompletableFuture<String> doOtherThing(String parameter) { return CompletableFuture.supplyAsync(() -> { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } return parameter + " " + "doOtherThing"; }); } public static void main(String[] args) throws ExecutionException, InterruptedException { StopWatch stopWatch = new StopWatch("CompletableFutureDemo"); stopWatch.start(); // 异步执行版本 testCompletableFuture(); stopWatch.stop(); System.out.println(stopWatch); } private static void testCompletableFuture() throws InterruptedException, ExecutionException { // 先执行 doOneThing 任务,后执行 doOtherThing 任务 CompletableFuture<String> resultFuture = doOneThing().thenCompose(CompletableFutureDemo::doOtherThing); // 获取任务结果 String doOneThingResult = resultFuture.get(); // 获取执行结果 System.out.println("DoOneThing and DoOtherThing execute finished. result = " + doOneThingResult); } }
Atas ialah kandungan terperinci Kaedah dan contoh penggunaan CompletableFuture dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!