摘要:定義模擬耗時(shí)操作調(diào)用失敗調(diào)用成功調(diào)用執(zhí)行順序循環(huán)循環(huán)調(diào)用成功代碼異步回調(diào)
定義ListenableFuture
public void getListenableFuture() { ListenableFutureTask調(diào)用task = new ListenableFutureTask (new Callable () { @Override public String call() throws Exception { Thread.sleep(5000); // 模擬耗時(shí)操作 return "success"; } }); task.addCallback(new ListenableFutureCallback () { @Override public void onFailure(Throwable throwable) { System.out.println("調(diào)用失敗"); } @Override public void onSuccess(String s) { System.out.println("調(diào)用成功:" + 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); } }執(zhí)行順序
循環(huán)i
循環(huán)j
調(diào)用成功:success
代碼:springboot ListenableFuture 異步回調(diào)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77586.html
摘要:定義異步方法,使用來返回異步調(diào)用的結(jié)果開始做任務(wù)一完成任務(wù)一,當(dāng)前線程,耗時(shí)毫秒任務(wù)一完成開始做任務(wù)二完成任務(wù)二,當(dāng)前線程,耗時(shí)毫秒任務(wù)二完成開始做任務(wù)三完成任務(wù)三,當(dāng)前線程,耗時(shí)毫秒任務(wù)三完成調(diào)用執(zhí)行異步回調(diào)異步回調(diào)結(jié)束調(diào)用結(jié)果開 定義異步方法,使用Future來返回異步調(diào)用的結(jié)果 @Async public Future firstTask() throws Int...
摘要:異步處理簡(jiǎn)介地址相關(guān)系列文章異步處理詳解分析本文講到的所有特性皆是基于的,不是基于的。用于異步返回結(jié)果,使用自己的,使用負(fù)責(zé)處理它。配置執(zhí)行異步操作需要用到,這個(gè)可以在用方法來提供相關(guān)文檔。 Spring MVC異步處理簡(jiǎn)介 Github地址 相關(guān)系列文章: Servlet 3.0 異步處理詳解 Servlet 3.1 Async IO分析 本文講到的所有特性皆是基于Servlet...
閱讀 576·2021-11-18 10:02
閱讀 1061·2021-11-02 14:41
閱讀 689·2021-09-03 10:29
閱讀 1902·2021-08-23 09:42
閱讀 2745·2021-08-12 13:31
閱讀 1210·2019-08-30 15:54
閱讀 1964·2019-08-30 13:09
閱讀 1437·2019-08-30 10:55