摘要:定義模擬耗時操作調用失敗調用成功調用執行順序循環循環調用成功代碼異步回調
定義ListenableFuture
public void getListenableFuture() { ListenableFutureTask調用task = new ListenableFutureTask (new Callable () { @Override public String call() throws Exception { Thread.sleep(5000); // 模擬耗時操作 return "success"; } }); task.addCallback(new ListenableFutureCallback () { @Override public void onFailure(Throwable throwable) { System.out.println("調用失敗"); } @Override public void onSuccess(String s) { System.out.println("調用成功:" + s); } }); Executors.newSingleThreadExecutor().submit(task); }
@GetMapping("test-listen-future") public void testListenableFuture() { for (int i = 0; i < 10; i++) { System.out.println("i = " + i); } asyncService.getListenableFuture(); for (int j = 0; j < 10; j++) { System.out.println("j = " + j); } }執行順序
循環i
循環j
調用成功:success
代碼:springboot ListenableFuture 異步回調
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77586.html
摘要:定義異步方法,使用來返回異步調用的結果開始做任務一完成任務一,當前線程,耗時毫秒任務一完成開始做任務二完成任務二,當前線程,耗時毫秒任務二完成開始做任務三完成任務三,當前線程,耗時毫秒任務三完成調用執行異步回調異步回調結束調用結果開 定義異步方法,使用Future來返回異步調用的結果 @Async public Future firstTask() throws Int...
摘要:異步處理簡介地址相關系列文章異步處理詳解分析本文講到的所有特性皆是基于的,不是基于的。用于異步返回結果,使用自己的,使用負責處理它。配置執行異步操作需要用到,這個可以在用方法來提供相關文檔。 Spring MVC異步處理簡介 Github地址 相關系列文章: Servlet 3.0 異步處理詳解 Servlet 3.1 Async IO分析 本文講到的所有特性皆是基于Servlet...
閱讀 573·2021-11-18 10:02
閱讀 1055·2021-11-02 14:41
閱讀 680·2021-09-03 10:29
閱讀 1896·2021-08-23 09:42
閱讀 2735·2021-08-12 13:31
閱讀 1203·2019-08-30 15:54
閱讀 1959·2019-08-30 13:09
閱讀 1432·2019-08-30 10:55