美文网首页
java自带异步方法

java自带异步方法

作者: __简单点__ | 来源:发表于2020-10-28 09:56 被阅读0次

超时时间

long timeout = 10000l;

DeferredResult> result =

new DeferredResult<>(timeout);

异步跑 其实就是调方法 开了一个线程

CompletableFuture.supplyAsync(()->{

return searchService.filterProduct(queryProductDTO);

}).thenAccept((list)->{ 

上面返回的结果会传递给下面list 进行封装

result.setResult(new ResponseData(list));

}).exceptionally(e->{  

 若异步出现异常或者超时 会进入此

result.setErrorResult(new ResponseData<Object>(500,e.getMessage()));

return null;

});

return result;

java实现异步的方法:https://www.cnblogs.com/sword-successful/p/11181714.html

一:创建线程

二:jdk1.8前通过Executors获取线程池 然后用submit方法执行异步操作获得future对象

存在问题 不算是真正的异步操作,因为获取异步结果时:用get()方法 会阻塞当前线程

三:jdk1.8:通过CompletableFuture对象的supplyAsync方法实现异步,通过thenAccept方法接收返回对象,通过Exceptionally方法处理异常

四:spring实现异步:通过配置线程池 加 Async注解执行操作,通过其返回Future对象的get方法处理异步结果

五:利用中间件:mq来执行异步操作 解耦应用程序。

相关文章

  • java自带异步方法

    超时时间 long timeout = 10000l; DeferredResult> result = new ...

  • 实现异步转同步

    极客时间-《Java并发编程实战》学习笔记 异步方法:调用方法,在方法中启动子线程异步调用:启动子线程调用方法异步...

  • Java异步方法调用

    很多时候,我们需要调用一个耗时方法,但是我们并不需要等待它执行完,才继续后面的工作,阻塞在这里是一个非常浪费时间的...

  • 异步任务执行的设计模式

    参考:java的设计模式 异步执行方法回调的设计模式:异步方法调用是在等待任务结果时不阻塞调用线程的模式。该模式提...

  • 几种的定时任务实现

    Timer方法 Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.ut...

  • 【Android 基础】 序列化 Parcelable 使用

    Android 序列化对象方法: 实现Serializable接口,Java自带; 实现Parcelable接口,...

  • Java注解

    注解分类 Java自带的标准注解@Override 标明重写某个方法@Deprecated 标明某个类或方法过时@...

  • Java8——异步编程

    Java8——异步编程 异步编程 所谓异步其实就是实现一个无需等待被调用函数的返回值而让操作继续运行的方法 创建任...

  • 10.5 WebView与js交互

    Java调用JS evaluateJavascript:专门用于异步调用JavaScript方法,并且能够得到一个...

  • Dart-异步编程方式一 Future

    async和await方式 在Dart2中要想使用async实现类似于Java中的异步编程,必须在其修饰的异步方法...

网友评论

      本文标题:java自带异步方法

      本文链接:https://www.haomeiwen.com/subject/fxqpmktx.html