代码拉取完成,页面将自动刷新
package JUC_Study.future;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
public class FutureDemo {
public static void main(String[] args) throws ExecutionException, InterruptedException {
/*
没有返回值的 runAsync 异步回调
*/
// CompletableFuture<Void> completableFuture = CompletableFuture.runAsync(()->{
// try {
// TimeUnit.SECONDS.sleep(2);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// System.out.println(Thread.currentThread().getName()+"runAsync=>Void");
// });
//
// System.out.println("1111111");
//
// completableFuture.get(); // 获取阻塞执行结果
/*
有返回值的 supplyAsync 异步回调
返回的是错误信息
*/
CompletableFuture<Integer> completableFuture = CompletableFuture.supplyAsync(()->{
System.out.println(Thread.currentThread().getName()+"supplyAsync=>Integer");
int i = 10/0;
return 1024;
});
System.out.println(completableFuture.whenComplete((t,u)->{
System.out.println("t=>" + t); // 正常的返回结果
System.out.println("u=>" + u); // 错误的信息
}).exceptionally((e)->{
System.out.println(e.getMessage());
return 233; // 可以获取到错误的返回结果
}).get());
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。